龙空技术网

Python tkinter 学习笔记(二):按钮和输入框

小庄读书 135

前言:

现在兄弟们对“tkinter的按钮”大体比较讲究,你们都想要知道一些“tkinter的按钮”的相关资讯。那么小编在网上收集了一些对于“tkinter的按钮””的相关内容,希望同学们能喜欢,小伙伴们快快来了解一下吧!

按钮

“按钮”应该是GUI应用中使用最广泛的控件了吧,Python tkinter中的“按钮”是Button类。

1.1 构造函数:

tk.Button(parent, option, ...)

属性(option)包括“文本(text)”、“字体(font)”、“背景色(bg)”等。

1.2 常用功能:

**grid(row=0, column=0):

随着主窗体中的控件越来越多,就要为每个控件指定所在的行(‘row’)和列(‘column’)。还可以通过‘columnspan’和‘rowspan’指定控件占用的列数和行数。

**‘command’属性:

按钮最核心的内容,自然是当按钮被按下的时候要做出的响应,也就是指定被调用的函数。

这里通过‘command’属性指定【按钮-1】被按下的时候,调用函数‘bt1_clicked(...)’。

bt1['command'] = lambda:bt1_clicked(...)

**‘state’属性:

bt1['state'] = tk.DISABLED

按钮的‘state’属性控制按钮是否可用,默认值为‘tk.NORMAL’。

如果设置为’tk.DISABLED' ,则按钮不响应鼠标点击事件且文本会变成灰色——这样就可以控制按钮在某些条件满足以后才可用。

**事件绑定:

将【回车键】绑定到按钮‘bt1’上。

win.bind('<Return>', lambda func:bt1.invoke())
输入框

“输入框”控件用于输入单行文本,Python tkinter中的“输入框”控件是tk.Entry类。

2.1 构造函数:

tk.Entry(parent, option, ...)

属性(option)包括“字体(font)”、“背景色(bg)”、“前景色(fg)”等。

[width]:输入框可以容纳的字符数。

2.2 常用功能:

**‘show’属性:

这个属性在输入框作为密码输入框时非常有用,比如设置['show']='$',则输入框中的内容都显示为'$'。

**get()函数:

返回输入框中的内容(字符串)。

**delete(first, last=None)函数:

删除输入框中索引[first, last)范围内的内容。

示例

点击【按钮-1】(或点击【回车键】),将输入框中的内容显示在上面的标签中。

import tkinter as tkfrom tkinter import fontdef bt1_clicked(lbl, ent1):    lbl['text'] = ent1.get()    ent1.delete(0, tk.END)if __name__ == '__main__':    win = tk.Tk()    win.title('*** Python tkinter ****')    win.geometry('600x300+600+100')    win.resizable(width=True, height=False)    lbl_font = font.Font(family='Courier', name='lbx_font', size=20, weight='bold', slant='italic')    lbl1 = tk.Label(win, font=lbl_font, text='标签-1', anchor=tk.CENTER, bg='#0f0')    lbl1.grid(ipadx=10, ipady=10, padx=20, pady=20, row=0, column=0)    lbl1['text'] = '你好'    ent1 = tk.Entry(win, width=25, font=lbl_font, bg='yellow', fg='red')    ent1.grid(row=1, column=0, padx=10, ipadx=10, ipady=10)    #ent1['state'] = tk.DISABLED    ent1['show'] = '$'    bt_font = font.Font(family='Arial', name='btx_font', size=20, weight='bold')    bt1 = tk.Button(win, text='按钮-1', font=bt_font, bg='cyan')    bt1['command'] = lambda:bt1_clicked(lbl1, ent1)    #bt1['state'] = tk.DISABLED    bt1.grid(row=1, column=1, ipadx=10, ipady=10, padx=10, pady=10)        win.bind('<Return>', lambda func:bt1.invoke()) #把按钮和回车键绑定    win.mainloop()

#头条创作挑战赛#

标签: #tkinter的按钮 #tkinter 按钮 增加行 #python tkinter获取按钮文字