问题 1:下拉选项默认值不显示问题:
self.run_mode = [ SocRunMode.run_soc.value,SocRunMode.run_grr.value]
self.run_mode_var = tk.StringVar()
self.run_mode_var.trace("w", self.onselected_run_mode_menu)
run_mode_option = tk.OptionMenu(right_frame, self.run_mode_var
, *self.run_mode)
run_mode_option.grid(row=0, column=2, pady=10, padx=10)
如图: 显示参考https://blog.csdn.net/understand_XZ/article/details/102746978 同学的建议把 tk,换成 ttk
增加ttk 引入,并改了 OptionMenu 调用。显示正常
import tkinter as tk
from tkinter import ttk
…
run_mode_option = ttk.OptionMenu(right_frame, self.run_mode_var , *self.run_mode)
问题 2: 下拉第一个选项消失,不显示问题:
解决: 参考源码,下拉选择项要设置一个默认值,如不单独设置,选项列表第一个会拿来做默认值:
def __init__(self, master, variable, default=None, *values, **kwargs):
我的解决办法1是:把列表第一项单独拿出来传递,或者
run_mode_option = ttk.OptionMenu(right_frame, self.run_mode_var , self.run_mode[0], *self.run_mode)
方法 2: 或者直接写默认值:
run_mode_option = ttk.OptionMenu(right_frame, self.run_mode_var , “SOC”, *self.run_mode)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/101663.html