#公用部分
import tkinter as tk #引入图形用户界面库
from tkinter import ttk #引入ttk模块
from tkinter import Menu #引入Menu模块
jm = tk.Tk() #生成jm主窗口
jm.title("我的GUI") #GUI标题
jm.geometry('150x150+885+465') #窗口大小及位置,不包括菜单栏及title部分,前2个参数表示大小,后2个参数表示位置(一般是窗口相对屏幕的坐标)
jm.resizable(0, 0) #固定GUI尺寸大小,不可调节,最大化按钮不可点击
#图形界面一:改变字体颜色
txt = ttk.Label(jm, text="你是谁?") #界面里添加标签,并设置标签内容
txt.grid(column=0, row=0) #设置标签位置,此步不能直接写在上一步的后面,会报错
def clickMe():
"""
创建改变标签颜色的按钮
"""
act.configure(text="已点击") #设置按钮上的文字
txt.configure(foreground='yellow') #设置标签字体颜色
act = ttk.Button(jm, text="请点击", command=clickMe) #设置“请点击”按钮
act.grid(column=1, row=0)
#图形界面二:创建输入框
def clickMe():
act.configure(text=name.get() + "先生,你好!") #StringVar()里的get()用于调用值
act.configure(state='disabled') #设置按钮显示状态
ttk.Label(jm, text="请输入你的名字:").grid(column=0, row=0)
act = ttk.Button(jm, text="请点击", command=clickMe)
act.grid(column=1, row=1)
#以下3行用来构造输入框
name = tk.StringVar() #StringVar()用于管理部件上的字符
nameEntered = ttk.Entry(jm, width=12, textvariable=name) #Entry为单行文本框,textvariable为可变文本,与StringVar等配合着用
nameEntered.grid(column=0, row=1)
#图形界面三:创建下拉框
nu = tk.StringVar()
nuChosen = ttk.Combobox(jm, width=12, textvariable=nu) #创建Combobox下拉选择框
nuChosen['values'] = (" سنة جديدة سعيدة ", "ปีใหม่มีความสุข", "新年快樂", "狗年旺旺", "新年快乐") #下拉选择框的列表内容
nuChosen.grid(column=1, row=1)
nuChosen.current(0) #设置下拉框默认内容,0为下标,即默认下拉框显示列表第一个值
#图形界面四:创建菜单栏。菜单栏包括两个下拉菜单:文件、帮助。
men = Menu(jm) #在jm窗口控件中创建一个根菜单框
jm.config(menu=men) #要想显示菜单,必须在“要添加菜单的窗口对象jm”的config中允许添加“菜单对象men”才能显示出菜单
fileMenu = Menu(men, tearoff=0) #在根菜单框中创建一个子菜单框,tearoff为分窗,0为在原窗显示,1为点击会打开另一个窗口显示该主菜单
men.add_cascade(label="文件", menu=fileMenu) #添加子菜单(label参数为显示内容)
fileMenu.add_command(label="新建", accelerator = 'Ctrl+N') #添加命令,并设置快捷方式
fileMenu.add_command(label="打开", accelerator = 'Ctrl+O')
fileMenu.add_command(label="保存", accelerator = 'Ctrl+S')
submenu = Menu(fileMenu, tearoff=0) #在子菜单框fileMenu下创建下级菜单框submenu
fileMenu.add_cascade(label="查看", menu=submenu) #在下级菜单框submenu中添加下级菜单
submenu.add_command(label="大图") #添加命令
submenu.add_command(label="小图")
fileMenu.add_separator() #子菜单之间加分割线
fileMenu.add_command(label="退出", command=jm.quit) #quit退出
helpMenu = Menu(men, tearoff=0)
men.add_cascade(label="帮助", menu=helpMenu)
helpMenu.add_command(label="联系")
helpMenu.add_separator()
helpMenu.add_command(label="关于")
#公用部分
jm.mainloop() #进入消息循环,必须组件
还没有评论,来说两句吧...