A-A+

[Tkinter Gui 教程03] Button 控件

2019年12月20日 11:05 汪洋大海 暂无评论 共1508字 (阅读1,184 views次)

已获原作者授权. 原系列地址: Python Tkinter

简介

Button 控件是一种标准 Tkinter 控件, 用来展现不同样式的按钮. Button 控件被用以和用户交互, 比如按钮被鼠标点击后, 某种操作被启动. 和 Label 控件类似, 按钮可以展示图片或者文字. 不同的是, Label 控件可以指定字体, Button 控件只能使用单一的字体. Button 上的文字可以多行显示.
可以将一个 Python 函数或方法绑定到一个 Button 控件. 这个函数或方法将在按钮被点击时执行.

例子

下面的代码定义了两个 Button: 一个用来退出程序, 另一个用来执行某个操作, 比如 在终端打印 "Tkinter is easy to use!" .

from tkinter import *
class App:
  def __init__(self, master):
    frame = Frame(master)
    frame.pack()
    self.button = Button(frame, 
                         text="QUIT", fg="red",
                         command=quit)
    self.button.pack(side=LEFT)
    self.slogan = Button(frame,
                         text="Hello",
                         command=self.write_slogan)
    self.slogan.pack(side=LEFT)
  def write_slogan(self):
    print("Tkinter is easy to use!")

root = Tk()
app = App(root)
root.mainloop()

上面的代码输出如下窗口:
图1

动态显示Label内容

下面的例子中, Label 控件的内容会自动加1, 直到停止按钮被点击:

import Tkinter as tk

counter = 0 
def counter_label(label):
  counter = 0
  def count():
    global counter
    counter += 1
    label.config(text=str(counter))
    label.after(1000, count)
  count()
 
 
root = tk.Tk()
root.title("Counting Seconds")
label = tk.Label(root, fg="dark green")
label.pack()
counter_label(label)
button = tk.Button(root, text='Stop', width=25, command=root.destroy)
button.pack()
root.mainloop()

上面的代码输出如下窗口:
图2


相关tkinter 教程系列

文章来源:https://segmentfault.com/a/1190000014280509

布施恩德可便相知重

微信扫一扫打赏

支付宝扫一扫打赏

×

给我留言