当前系统是 Mac OS 10.14.6,PyCharm版本是 2019.2.3
1、Button生成的按钮文字不显示的解决
运行出来Button的效果如图:
运行出来OptionMenu的效果如图:
之前的Button的创建代码:
from tkinter import tk
root = tkinter.Tk() # 创建父容器GUI
root.title("请选择要打包的工程") # 父容器标题
root.geometry("320x120")
# 第一个按钮
tk.Button(root, text="开始打包", command=lambda: choose_application()).grid(row=0, column=0, padx=10, pady=5)
root.mainloop()
def choose_application():
root.destroy() # 关闭窗口
2、OptionMenu文字不显示的解决
之前的OptionMenu的创建代码:
option_method = OptionMenu(root, method, 'ad-hoc', 'enterprise', 'app-store').grid(row=2, column=1, pady=10)
修改之后的Button和OptionMenu的创建代码:
from tkinter import ttk
root = tkinter.Tk() # 创建父容器GUI
root.title("请选择要打包的工程") # 父容器标题
root.geometry("320x120")
ttk.Button(root, text="开始打包", command=lambda: choose_application()).grid(row=0, column=0, padx=10, pady=5)
option_method = ttk.OptionMenu(root, method, 'ad-hoc', 'enterprise', 'app-store').grid(row=2, column=1, pady=10)
def choose_application():
root.destroy() # 关闭窗口
按钮Button的执行结果:
OptionMenu的执行结果:
解决就是 tkinter 中引入的 tk 需要替换成 ttk
3、OptionMenu组件在选择后第一个选项消失的问题解决
把选项的第一个设置为空,不过运行后的结果,默认显示也为空,修改后的代码:
# 让用户选择 method - 打包的类型
global method # 打包方法:ad-hoc、enterprise、app-store
method = StringVar()
method.set("ad-hoc")
option_method = ttk.OptionMenu(root, method, ' ', 'ad-hoc', 'enterprise', 'app-store').grid(row=2, column=1, pady=10)
效果图: