我的 tkinter 应用程序有以下 UI。我的问题是带有长文本的 OptionsMenu
将所有其他小部件移到右侧并最终移出框架。
我能想到的解决方案: 1) 将文本换行到下一行。
2) StringVar
可以将下拉列表的选定文本截断到特定字符但不更改其存储的原始值(在下拉列表中选择)的一种方式。
3) 停止让它们 float 并重叠在其他小部件上。
这是不稳定行为的图像。
这是我的代码:用于查找类别下拉菜单。
if finding_names != []:
finding_names.insert(0,'All')
finding_type_select.set(finding_names[0])
finding_type_dropdown = OptionMenu(tab3_project_reports,finding_type_select,*finding_names)
finding_type_dropdown.configure(font='helvetica 12')
finding_type_dropdown.grid(row=5, column=1,padx=10, pady=10,sticky=W+E+N+S)
finding_type_dropdown.grid_columnconfigure(0, weight=1)
我也尝试过使用 grid_columnconfigure
但我并没有真正看到任何变化。
如果有任何帮助,我将不胜感激。提前致谢。
最佳答案
我在这里看到的唯一可能是问题所在(没有看到更多代码)是您如何使用 grid_columnconfig()
。您只能将列/行配置应用于容器。这些将是 root
窗口、Toplevel()
窗口或 Frame
。您目前正在使用 grid_columnconfigure()
,这会起作用,但请注意,您也可以在没有 grid_
部分的情况下只执行 columnconfigure()
。行也是如此。
取而代之的是:
finding_type_dropdown.grid_columnconfigure(0, weight=1)
这样做:
tab3_project_reports.grid_columnconfigure(0, weight=1)
关于python - 如何防止 tkinter python 中的 float 小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52895371/