[英]Get user input from tk.Text and tk.Listbox without using tk.Button
[英]Format String for tk.Listbox
我想填寫一個 tk.Listbox。 左側應該是指標的名稱(左對齊),右側是值和單位(右對齊)。 有一些……介於兩者之間。
在 Jupyter 中它可以工作:
在 GUI 中,它看起來像這樣:
代碼是:
for name, value in zip(content_name, content_value):
points = 34 - len(name) - len(value)
in_between = "........"
for p in range(points):
in_between = in_between + "."
content = name + in_between + value
listbox_record.insert(tk.END, content)
有沒有辦法在不知道字體或字符的特定長度(以像素為單位)的情況下在 GUI 中執行此操作?
謝謝!
正如 acw1668 所建議的,我已將字體設置為 mono 間隔字體(“Courier”,9)。 我相信 TKinter 默認字體是(“New Courier”,9)。
### Frame Listbox
frame_listbox = tk.Frame(self.frame_activities)
frame_listbox.grid(row = 1, column = 0, columnspan = 2, sticky = "ew", padx = 10)
### Frame Scrollbar
frame_scroll_select_activity = tk.Frame(frame_listbox)
scrollbar_select_activity = tk.Scrollbar(frame_scroll_select_activity, orient = tk.VERTICAL)
### Font Listbox
font_listbox = ("Courier", 9)
### Listbox
listbox_record = tk.Listbox(frame_scroll_select_activity, font = font_listbox, width = 42, yscrollcommand = scrollbar_select_activity.set, selectmode = tk.SINGLE)
### Configure Scrollbar
scrollbar_select_activity.config(command = listbox_record.yview)
### Packing
scrollbar_select_activity.pack(side = tk.RIGHT, fill = tk.Y)
frame_scroll_select_activity.pack()
listbox_record.pack(pady = 10)
填充列表框...
for name, value in zip(content_name, content_value):
content = name + value.rjust(42 - len(name), ".")
listbox_record.insert(tk.END, content)
而且看起來是這樣的……
很酷!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.