python - 如何防止 tkinter python 中的 float 小部件

标签 python user-interface tkinter floating

我的 tkinter 应用程序有以下 UI。我的问题是带有长文本的 OptionsMenu 将所有其他小部件移到右侧并最终移出框架。

我能想到的解决方案: 1) 将文本换行到下一行。

2) StringVar 可以将下拉列表的选定文本截断到特定字符但不更改其存储的原始值(在下拉列表中选择)的一种方式。

3) 停止让它们 float 并重叠在其他小部件上。

这是不稳定行为的图像。

enter image description here

这是我的代码:用于查找类别下拉菜单。

    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/

相关文章:

python - 在 Python tkinter 中使用循环的多个条目小部件

python - 通过鼠标点击从板上选择方 block 的有效方法(Python 3.X.tkinter)

python - 如何将 Panda 类型的数据转换为 Panda.Dataframe?

ios - 将文本水平放入 UIScrollView 和适当的 AutoLayout - Swift

python - 当 Popen.communicate() 不够时?

c++ - 我不明白为什么这段代码无法打开文件

python - 在 PySimpleGUI 中制作可编辑表格?

python - Tkinter lambda 函数

python - 从 4 个角颜色插值的二维颜色渐变(256x256 矩阵)

python - 如何在Python中提取 ""之间的文本