第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

Python Tkinter 模塊

標簽:
Python

Tkinter 模块


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

  • Tk
  • Qt
  • wxWidgets

Python 提供的 Tkinter 模块,就是 Tk GUI 工具包的接口。

Tkinter


Tk 是图形库,支持多种操作系统,使用 Tcl 语言开发;

Tk 会调用操作系统提供的本地 GUI 接口,完成最终的 GUI。

所以代码实现的只需要调用 Tkinter 提供的接口就可以。

GUI 程序


编写 “Hello World”,这次使用 Tkinter 模块完成。

先导入 Tkinter 库

Python 3.x 版本,Tkinter 库已经更改为 tkinter,导入命令如下:

from tkinter import *

或者

import tkinter

Frame 派生一个 Application 类,这是所有 Widget 的父容器:

class Application(Frame):
    '''由 Frame 派生 Application
    '''

    def __init__(self, master=None):
        Frame.__init__(self, master)
        self.pack()
        self.create_widgets()

    def create_widgets(self):
        self.hello_label = Label(self, text='Hello, world!')
        self.hello_label.pack()
        self.quit_button = Button(self, text='Quit', command=self.quit)
        self.quit_button.pack()

在 GUI 中,Button、Label、Entry 等,都是一个 Widget。Frame 则是可以容纳其他 Widget 的 Widget。

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

create_widgets() 方法中,创建一个 LabelButton,当 Button 被点击时,触发 self.quit() 使程序退出。

然后,实例化 Application,并启动消息循环:

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

GUI 程序的主线程负责监听来自操作系统的消息,并依次处理每一条消息。因此,如果消息处理非常耗时,就需要在新线程中处理。

运行上面程序的效果:

gui.png

点击 Quit 按钮退出或者左上角的 x 结束程序

输入文本


上面的例子是以直接输出的形式,现在尝试加入一个文本框,让用户可以输入文本,点击按钮可以读取输入信息,并弹出消息对话框显示输入的信息。

from tkinter import *
import tkinter.messagebox as messagebox

class Application(Frame):
    def __init__(self, master=None):
        '''初始化函数
        '''
        Frame.__init__(self, master)
        self.pack()
        self.create_widgets()

    def create_widgets(self):
        '''创建部件
        '''
        self.name_input = Entry(self)
        self.name_input.pack()
        self.alert_button = Button(self, text='Hello', command=self.hello)
        self.alert_button.pack()

    def hello(self):
        '''接收用户输入,显示信息
        '''
        name = self.name_input.get() or 'world'
        messagebox.showinfo('Message', 'Hello, {}'.format(name))


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

代码运行流程,当用户点击按钮,触发 hello(),通过 self.name_input.get() 获得用户输入的文本后,使用 messagebox.showinfo() 弹出消息对话框。

程序运行的效果如下:

messagebox.png

结语

这里只是简单的尝试使用 Tkinter 模块完成简单的实例,Tkinter 模块能完成的功能远不止这些。详细的信息可以参考 TKDocs https://tkdocs.com/tutorial/index.html


以上就是本篇的主要内容。

點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消