龙听期货论坛's Archiver

龙听 发表于 2024-3-13 14:33

Python GUI编程(Tkinter) - 【按钮组件Button】

[p=30, 2, left]Tkinter 按钮组件用于在 Python 应用程序中添加按钮,按钮上可以放上文本或图像,按钮可用于监听用户行为,能够与一个 Python 函数关联,当按钮被按下时,自动调用该函数。[/p]语法[p=30, 2, left]语法格式如下:[/p][code]w = Button ( master, option=value, ... )[/code][list][*]
master: 按钮的父容器。[*]
options: 可选项,即该按钮的可设置的属性。这些选项可以用键 = 值的形式设置,并以逗号分隔。[/list]

[table=98%]
[tr][td]序号[/td][td]可选项 & 描述[/td][/tr]
[tr][td]1[/td][td]
[b]activebackground[/b]
当鼠标放上去时,按钮的背景色[/td][/tr]
[tr][td]2[/td][td]
[b]activeforeground[/b]
当鼠标放上去时,按钮的前景色[/td][/tr]
[tr][td]3[/td][td]
[b]bd[/b]
按钮边框的大小,默认为 2 个像素[/td][/tr]
[tr][td]4[/td][td]
[b]bg[/b]
按钮的背景色[/td][/tr]
[tr][td]5[/td][td]
[b]command[/b]
        按钮关联的函数,当按钮被点击时,执行该函数[/td][/tr]
[tr][td]6[/td][td]
[b]fg[/b]
按钮的前景色(按钮文本的颜色)[/td][/tr]
[tr][td]7[/td][td]
[b]font[/b]
文本字体[/td][/tr]
[tr][td]8[/td][td]
[b]height[/b]
按钮的高度[/td][/tr]
[tr][td]9[/td][td]
[b]highlightcolor[/b]
要高亮的颜色[/td][/tr]
[tr][td]10[/td][td]
[b]image[/b]
按钮上要显示的图片[/td][/tr]
[tr][td]11[/td][td]
[b]justify[/b]
显示多行文本的时候,设置不同行之间的对齐方式,可选项包括LEFT, RIGHT, CENTER[/td][/tr]
[tr][td]12[/td][td]
[b]padx[/b]
按钮在x轴方向上的内边距(padding),是指按钮的内容与按钮边缘的距离[/td][/tr]
[tr][td]13[/td][td]
[b]pady[/b]
按钮在y轴方向上的内边距(padding)[/td][/tr]
[tr][td]14[/td][td]
[b]relief[/b]
边框样式,设置控件3D效果,可选的有:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。默认为 FLAT。[/td][/tr]
[tr][td]15[/td][td]
[b]state[/b]
设置按钮组件状态,可选的有NORMAL、ACTIVE、 DISABLED。默认 NORMAL。[/td][/tr]
[tr][td]16[/td][td]
[b]underline[/b]
下划线。默认按钮上的文本都不带下划线。取值就是带下划线的字符串索引,为 0 时,第一个字符带下划线,为 1 时,前两个字符带下划线,以此类推[/td][/tr]
[tr][td]17[/td][td]
[b]width[/b]
按钮的宽度,如未设置此项,其大小以适应按钮的内容(文本或图片的大小)[/td][/tr]
[tr][td]18[/td][td]
[b]wraplength[/b]
限制按钮每行显示的字符的数量[/td][/tr]
[tr][td]19[/td][td]
[b]text[/b]
按钮的文本内容[/td][/tr]
[tr][td]19[/td][td]
[b]anchor[/b]
锚选项,控制文本的位置,默认为中心[/td][/tr]
[/table]方法以下为组件常用的方法:
[table=98%]
[tr][td]方法[/td][td]描述[/td][/tr]
[tr][td]deselect()[/td][td]清除单选按钮的状态[/td][/tr]
[tr][td]flash()[/td][td]在激活状态颜色和正常颜色之间闪烁几次单选按钮,但保持它开始时的状态。[/td][/tr]
[tr][td]invoke()[/td][td]可以调用此方法来获得与用户单击单选按钮以更改其状态时发生的操作相同的操作[/td][/tr]
[tr][td]select()[/td][td]设置单选按钮为选中。[/td][/tr]
[/table]

龙听 发表于 2024-3-13 14:38

实例

实例中点击按钮会显示一个信息:[code]
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import Tkinter
import tkMessageBox

top = Tkinter.Tk()

def helloCallBack():
   tkMessageBox.showinfo( "Hello Python", "Hello Runoob")

B = Tkinter.Button(top, text ="点我", command = helloCallBack)

B.pack()
top.mainloop()[/code]测试输出结果如下:
[img]http://p.algo2.net/2024/0313/b05f7ba52b921.jpg[/img]

龙听 发表于 2024-3-30 18:15

[code]import tkinter
from tkinter import messagebox

def mymessage():
    messagebox.showinfo('提示','提醒消息')

root = tkinter.Tk()
tkinter.Button(root,text=' 点击此',command=mymessage).pack()

root.mainloop()[/code]

页: [1]