teddy2017 发表于 2017-8-17 22:25:02

Getting started with GUIs

Getting started with GUIs1eae257e44aa9d5b ·       Introduction
GUI 是GraphicalUser Interface简称,GUI用于你的程序和用户交互,例如按钮,下拉菜单,文本输入等。 ·       What you will do
本章将使用Python编程制作一个简单的GUI。 ·       What you will need
Computer(Rpi/windows/mac)Python 3 guizero若安装于mac或raspberry设备上,需使用下列命令安装pip:sudo pip3 install guizero若使用windows,则需:python -m pip install -U pip安装guizero库:
pip install guizero·       Getting started
1.打开Python,新建一个文件,增加一行代码,从guizero库中中导入App类:from guizeroimport App 2.显示app标题名:app= App(title="Hello world")
app.display()
保存文件,F5刷新后,GUI将会如下展示: 恭喜你,完成第一步。·       添加控件在增加控件至面板前,有如下几个规则:使用import导入新控件:from guizeroimport App 1.如需使用文本控件,则需(每一种类型空间只需增加一次,若需添加多个控件,则在后面添加即可):from guizeroimport App, Text 2增加控件的代码必须在eventloop 开始前增加: ·       Text控件welcome_message= Text(app, text="Welcome to my app")




我们创建了一个名为welcome_message的Text控件,第一个参数定义为app,则表示text控件被app对象所命令,其中可以控制其size,font等其他关键字。 ·       TextBox控件my_name = TextBox(app) ·       PushButton控件用于创建一个按钮,当按钮按下时,功能需要被调用,所以我们在app启动前,将函数代码添加进去。def say_my_name():
   welcome_message.set( my_name.get() )我们需要将TextBox中的输入值显示到Text中,也就是说将welcome_message的值写入到my_name控件中,这里定义了一个 say_my_name函数,set与get方法用于控件值的更新。增加PushButton控件:update_text= PushButton(app, command=say_my_name, text="Display myname")app是boss,command表示按钮按下时,将调用此函数,text则表示PushButton空间上的显示值。 ·       Slider控件用于用户控制范围的控件,如调节音量大小。同样在app启动前,添加函数代码用于被Slider调用:
def change_text_size(slider_value):
   welcome_message.font_size(slider_value)
其中有个slider_value参数用于slider控件移动时自动发送当前值至函数。此处则当前值设置成welcome_message的font_size。
text_size= Slider(app, command=change_text_size, start=10, end=80)
增加Slider控件。·       Picture控件导入一张图片至面板,不过前提只能使用GIF格式,而且生成出来是静态的。将gif图放入代码目录:
my_cat= Picture(app, image="cat.gif") Congratulations!from guizero importApp, Text, TextBox, PushButton, Slider, Picture app = App(title='Hello World') def say_my_name():   welcome_message.set(my_name.get()) def change_text_size(slider_value):   welcome_message.font_size(slider_value) welcome_message = Text(app, text='Welcometo my app', size=30, font='Arial', color='#ff4040')   text_size = Slider(app,command=change_text_size, start=10, end=80)my_name = TextBox(app, width=30)update_text = PushButton(app,command=say_my_name, text='Display my name') my_wechat = Picture(app, image='wechat.gif') app.display()


页: [1]
查看完整版本: Getting started with GUIs