1

我有一个 OptionMenu 可以从很长的字符串列表中进行选择。我不想一直调整窗口大小,所以我将 OptionMenu 宽度固定为可以完全包含大部分选项的东西。

The problem I'm having is that when a very long option is selected, it is centered in the button, and also the lever bar thing (whatever that is) gets drawn on top of the last few letters (which just looks messy). 我宁愿让它左对齐,因为理解不适合的字符串的最佳机会是从头开始阅读它,而不是在中间的某个地方随机读取。

有什么方法可以覆盖它的绘制方式吗?OptionMenu 没有任何选项。理想情况下,我想截断较长的字符串并附加省略号 (...) 以表明它不适合,但至少让它左对齐将是一个很大的改进。

看起来它是建立在某种按钮之上的;有没有办法到达那个按钮,所以我可以配置它?

如果有人想确切了解 OptionMenu 如何处理长选择(python 2.6),这是一个工作示例...

root = Tk()

body = Frame(root)
body.pack()

chosen = StringVar( root)
om = OptionMenu( body, chosen, 'short option', 'this is anything but a short option, and wordy to boot!')
om.config( width=10)
om.pack()

root.mainloop()
4

1 回答 1

0

如果您可以提供代码,那将是一个很大的帮助无论如何,如果您使用网格来对齐OptionMenu,那么您可以使用不同的列或增加列跨度,甚至可以使用sticky它来对齐它。

于 2013-11-05T03:25:45.427 回答