Python GUI编程-1.1 图形界面之用四行代码显示“Hello World”

通常学习一门语言,第一个实例都是“hello world”实例,我们Python GUI编程肯定也是从此学习,下面为源代码

from tkinter import Label
widget = Label(None,text="Hello GUI World!")   # 生成
widget.pack()        # 布置
widget.mainloop()        # 开始时间循环

这就是一个完整的python GUI程序,它调用了tkinter模块。运行此程序,屏幕会显示一个简易窗口,正中间有一个标签,标签内容就是“hello world”,下图就是演示图


这是一个可以显示在电脑屏幕上、独立、功能化的窗口,可最大化、可最小化、可恢复原状,点击右上角“x”按钮,可以关闭窗口,停止运行程序

这一小段代码是可移植的,在你的电脑运行这段代码,看看显示效果如何。在不同的操作系统上,相同代码生成的窗口,受系统的影响,是存在差异的,即便如此窗口的基本行为在所有的平台上都是一样的

这几行代码做了一下事情:

        1、从tkinter模块中加载一个组件类

        2、创建该组件类的实例为标签类

        3、在父组件中打包新的标签

        4、调用主循环,显示窗口,同时开始tkinter的事件循环

在创建组件类的实例为标签类时,我们传递了两个参数。第一个参数是父组件对象,我们希望将新标签设置于中,这里None表示“将新标签设置在该程序的默认顶层窗口”。第二个参数是标签配置选项,作为一个关键字参数,文本选项(text)通过设定文本字符串,来作为标签的显示信息。大多数组件的构造参数都接受多个关键字参数,对组件的颜色、尺寸、回调函数等进行具体设置。

mainloop方法最后执行,将标签显示在屏幕,进入tkinter等待状态,准备响应用户发起的GUI事件。在mainloop函数中,tkinter内部会监控这些事件,如键盘活动、鼠标单击等。

mainloop函数作用显示GUI窗口,pack(或者arrange)作用是显示窗口中的组件。显而易见这两个函数在一个GUI程序中是缺一不可的。

接下来看下面一段代码:

from tkinter import *
root = Tk()
Label(root,text="Hello GUI World!").pack(side=TOP)       
root.mainloop() 

这里采用了*来导入tkinter模块中的内容,tkinter模块只会导入你用到的模块。

第一行代码我们使用Tk组件类的实例来作为父组件,而不是将父组件设置为空。Tk代表程序的主窗口root,程序开始运行时就会出现的窗口。当其他组件呼叫时,不传递父组件,或者父组件为空时,一个自动创建的Tk实例会作为默认的父组件。换句话说组将会默认的附属于主程序窗口。

第二行代码在创建完标签或立即使用了pack方法,而没有设置变量。如果不需要保存组件,可以在上述位置用pack方法来取消声明。当组件附属于一个更大的结构,而此后不再使用,就可以使用该方法。

在对组件使用pack函数时,我们可以选择父组件的位置——顶部、底部、左边、右边。如果pack没有设置(如前一个实例),组件会默认放在父组件的顶部。TOP常量在pack中调用,就是将组件放在父组件的顶部

接下来在看一段代码:

from tkinter import *
Label(text="Hello GUI World!").pack()       
mainloop()    
tkinter的mainloop被调用是可以有一个组件,也可以没有。在这里我们也没有向标签组件传递父参数,以为参数胜略时默认为空(这样就会自动创建Tk对象)。当我们创建大型GUI时,仅仅默认设置是不够用的
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值