我就废话不多说了,直接看代码吧!
import tkinter as tk from tkinter import ttk win = tk.Tk() win.title("Python GUI") # 添加标题 ttk.Label(win, text="Chooes a number").grid(column=1, row=0) # 添加一个标签0 ttk.Label(win, text="Enter a name:").grid(column=0, row=0) # 设置其在界面中出现的位置 # button被点击之后会被执行 def clickMe(): # 当acction被点击时,该函数则生效 action.configure(text='Hello ' + name.get() + ' ' + numberChosen.get())#设置button显示的内容 print('check3 is %d %s' % (chvarEn.get(), type(chvarUn.get()))) action = ttk.Button(win, text="Click Me!", command=clickMe) # 创建一个按钮, text:显示按 action.grid(column=2, row=1) # 设置其在界面中出现的位置 # 文本框 name = tk.StringVar() # StringVar是Tk库内部定义的字符串变量类型,在这里用于管理 #部件上面的字符;不过一般用在按钮button上。改变StringVar,按钮上的文字也随之改变。 nameEntered = ttk.Entry(win, width=12, textvariable=name) # 创建一个文本框,字符长度为12, #内容绑定到name,方便clickMe调用 nameEntered.grid(column=0, row=1) # 设置其在界面中出现的位置 nameEntered.focus() # 当程序运行时,光标默认会出现在该文本框中 # 一个下拉列表 number = tk.StringVar() numberChosen = ttk.Combobox(win, width=12, textvariable=number, state='readonly') numberChosen['values'] = (1, 2, 4, 42, 100) # 设置下拉列表的值 numberChosen.grid(column=1, row=1) # 设置其在界面中出现的位置 column代表列 row 代表行 numberChosen.current(4) # 设置下拉列表默认显示的值,0为numberChosen['values'] 的下标值 # 复选框 chVarDis = tk.IntVar() # 用来获取复选框是否被勾选,通过chVarDis.get()来获取其的状态, #其状态值为int类型 勾选为1 未勾选为0 check1 = tk.Checkbutton(win, text="Disabled", variable=chVarDis, state='disabled') # text为复选框 #后面的名称,variable将该复选框的状态赋值给一个变量,当state='disabled'时, #该复选框为灰色,不能点的状态 check1.select() # 该复选框是否勾选,select为勾选, deselect为不勾选 check1.grid(column=0, row=4, sticky=tk.W) # sticky=tk.W 当该列中其他行或该行中的其他列的 #某一个功能拉长这列的宽度或高度时,设定该值可以保证本行保持左对齐, #N:北/上对齐 S:南/下对齐 W:西/左对齐 E:东/右对齐 chvarUn = tk.IntVar() check2 = tk.Checkbutton(win, text="UnChecked", variable=chvarUn) check2.deselect() check2.grid(column=1, row=4, sticky=tk.W) chvarEn = tk.IntVar() check3 = tk.Checkbutton(win, text="Enabled", variable=chvarEn) check3.select() check3.grid(column=2, row=4, sticky=tk.W) win.mainloop() # 当调用mainloop()时,窗口才会显示出来
补充知识:【tkinter】填坑 解决Entry、Label不能修改text、image等属性的问题
tkinter中定义一个输入,如:
input =Entry(root).pack()
不等于以下定义
input =Entry(root) input.pack()
后者定义后直接布局,返回的不是Entry()控件本身,没有entry所有的一些方法如get()等
按照前者定义 input =Entry(root).pack() 后,可利用input.get() 获得输入框的文本信息。
利用 input['text']可修改Entry()文本框的文本内容。Label等控件同理,如法还可以修改Label['image']实现动态显示图片等操作。
以上这篇python tkinter之 复选、文本、下拉的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。