我想要动态的lable.config吗?因为结果与屏幕尺寸不符,其余文本被截断并且看不到。这是代码。我知道我的代码无效,但是我是一个初学者,我不知道并且不了解python中的GUI
def link_GUI(graph):
def btn_click():
data1 = str(txtDataEntry.get()) # get data from test box
data2 = str(txtDataEntry2.get())
r_edge = link(graph, data1, data2)
lblResult.config(text="" + data1 + " and " + data2 + " are linked")
lblResult2.config(text="" + str(r_edge))
root = Tk()
root.title("SSM Application")
root.geometry("1500x600")
lblTitle = Label(text=" Link a station to another station", font=('arial', 20, 'bold'), fg='Black')
lblTitle.pack()
lblTitle = Label(text=" *Close the box to choose another option* ", font=('arial', 10, 'bold'), fg='Black')
lblTitle.pack()
frame1 = Frame()
lblDataentry = Label(frame1, text="Enter first station name:", pady=1, fg='black') # 1111111111111111
lblDataentry.grid(row=0, column=0)
txtDataEntry = Entry(frame1) # 111111111111111
txtDataEntry.grid(row=0, column=1)
lblDataentry = Label(frame1, text="Enter second station name:", pady=1, fg='black') # 2222222222222
lblDataentry.grid(row=1, column=0)
txtDataEntry2 = Entry(frame1) # 222222222222222
txtDataEntry2.grid(row=1, column=1)
btnSubmit = Button(frame1, text="Link", bg='grey', fg='black', command=btn_click)
btnSubmit.grid(row=2, column=1)
frame1.pack() # add frame to gui
lblResult = Label(font=('arial', 18, 'bold'), fg='darkblue')
lblResult.pack()
lblResult2 = Label(font=('arial', 18, 'bold'), fg='darkblue')
lblResult2.pack()
root.mainloop()
原始输出结果 1:https://i.stack.imgur.com/ErzL6.png
尝试包裹长度后,这里是结果,但是它也无济于事吗?
答案 0 :(得分:0)
将root.geometry("1500x600")
更改为root.minsize(1500, 600)
,以扩展根窗口。
将lblResult2.pack()
更改为lblResult2.pack(fill="both", expand=1)
,以便lblResult2
将填充根窗口宽度并调整根窗口高度,以显示其所有内容。
将lblResult2.config(text=""+str(r_edge))
更改为lblResult2.config(text=str(r_edget), wraplength=lblResult2.winfo_width(), justify='left')
,以包装其内容以适合其宽度。
编辑: 另一种解决方案是使用Text
小部件而不是Label
:
更改以下几行
lblResult2 = Label(font=('arial', 18, 'bold'), fg='darkblue')
lblResult2.pack()
到
txtResult2 = Text(font=('arial', 18, 'bold'), fg='darkblue')
txtResult2.pack(fill='both', expand=1)
更改btn_click()
中的以下行:
lblResult2.config(text=""+str(r_edge))
到
txtResult2.delete(1.0, 'end')
txtResult2.insert('end', str(r_edge))