0
点赞
收藏
分享

微信扫一扫

极客编程python入门-图形界面


图形界面


Python支持多种图形界面的第三方库,包括:

Tk、wxWidgets、Qt、GTK等等。


第一步是导入Tkinter包的所有内容:


from tkinter import *


第二步是从​​Frame​​​派生一个​​Application​​类,这是所有Widget的父容器:


class Application(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()

def createWidgets(self):
self.helloLabel = Label(self, text='Hello, world!')
self.helloLabel.pack()
self.quitButton = Button(self, text='Quit', command=self.quit)
self.quitButton.pack()


在GUI中,每个Button、Label、输入框等,都是一个Widget。Frame则是可以容纳其他Widget的Widget,所有的Widget组合起来就是一棵树。

​pack()​​​方法把Widget加入到父容器中,并实现布局。​​pack()​​​是最简单的布局,​​grid()​​可以实现更复杂的布局。

在​​createWidgets()​​​方法中,我们创建一个​​Label​​​和一个​​Button​​​,当Button被点击时,触发​​self.quit()​​使程序退出。

第三步,实例化​​Application​​,并启动消息循环:


app = Application()
# 设置窗口标题:
app.master.title('Hello World')
# 主消息循环:
app.mainloop()


输入文本


from tkinter import *
import tkinter.messagebox as messagebox

class Application(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()

def createWidgets(self):
self.nameInput = Entry(self)
self.nameInput.pack()
self.alertButton = Button(self, text='Hello', command=self.hello)
self.alertButton.pack()

def hello(self):
name = self.nameInput.get() or 'world'
messagebox.showinfo('Message', 'Hello, %s' % name)

app = Application()
# 设置窗口标题:
app.master.title('Hello World')
# 主消息循环:
app.mainloop()

举报

相关推荐

0 条评论