因此,我有两行专用于消息标签小部件,以便在用户使用tkinter GUI时向用户显示任何成功/不成功的消息。 有些消息太长,无法容纳列宽,因此我使用Label小部件的wraplength特性将文本换行到下一行。在
我遇到的问题是,由于这个特性,它会将小部件的位置移到这个小部件下面,每换行一行它就把文本换行。在
所以我想知道有没有什么方法可以让文本自动换行,而不移动下面的小部件。在
将文本换行为高度为1的换行符时,邮件标签的外观:
我想在第二个图像链接的消息标签显示方式,但保持垂直布局的窗口小部件,如看到在第一图像链接。在
以下代码用于定义小部件:
Choice_list = Listbox(window, selectmode=SINGLE, width = 17, height = 9,
justify = CENTER)
image = PhotoImage(file = 'Dummy_Logo.gif')
Image_label = Label(window, image = image)
extract = Button(window, text = "Archive News from Webpage",
command = func1, width = 20)
archive = Button(window, text = "Extract News from Archive",
command = func2, width = 22)
display = Button(window, text = "Display the News",
command = func3, width = 14)
Message_Widget = Label(window, text = '', fg = 'black', justify = CENTER,
height = 2, wraplength = 300)
Log_Event = Checkbutton(window, text = 'Log Event', variable = logState,
command = logEvent)
以下代码是小部件的网格对齐方式:
^{pr2}$
你有没有考虑过使用文本小部件来读取数据?在
例如,如果文本太长,下面的代码将包装文本,并且不会调整小部件的大小。这只是一个例子,但应该足以帮助你解决问题。在
把标签的高度定为2或3。问题很简单,默认情况下它想要一个字符高。Tkinter将只分配一个字符的高度时,布局所有的小部件。当文本换行时,标签必须变得更高,这样文本才会适合。在
通过给它一个2或3的高度开始,额外的空间被内置到GUI中。当文本换行时,标签不必增长以适应新文本。在
这可能不是解决这个问题的适当方法,但是我只通过将Message_小部件中的rowspan参数调整为rowspan=11,就成功地得到了我想要的结果。在
结果如下:
用简短的文字: https://i.stack.imgur.com/XpGLq.png
长文本: https://i.stack.imgur.com/iXwlR.png
相关问题 更多 >
编程相关推荐