我有一個標籤設置在一定的大小,但是當我運行我的程序時,主窗口不夠大,看不到整個標籤。 如何增加主窗口的大小?我嘗試過不同的選擇,但我沒有任何運氣。如何在Python中更改主Tkinter窗口的大小?
import win32com.client
import os
# import threading # use the Timer
import tkinter
from tkinter import Tk, Label, Button
class myGUI:
def timer(self):
import pythoncom
pythoncom.CoInitialize()
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)
messages = inbox.Items
message = messages.GetLast()
body_content = message.Subject # can be Body, To, REcipients, Sender, etc
self.answer_label['text'] = (body_content) # orginally used body_content.encode("utf-8") to fixed character encoding issue
self.master.after(20, self.timer) # after needs to be called from an existing widget such as master
# In this case, the after method is used to refresh the e-mails instead of threading
def __init__(self, master):
self.master = master
master.title("CheckStat")
self.answer_label = Label(master, text='', fg="light green", bg="dark green", font="Helvetica 16 bold italic")
self.answer_label.place(height=100, width=600)
self.timer()
root = Tk()
my_gui = myGUI(root)
root.mainloop()
你有使用'.place()'經理? (你可能沒有)'.place()'忽略邊界和相對位置,你可能想使用其他窗口管理器('.grid()'和'.pack()',儘管前者會讓你受益更多學習並節省一些頭痛的問題 - 但請注意,這兩個**不能在同一個容器中使用(相反,Tk會嘗試在我們太陽的其餘時間解決它們))。 – Delioth
不,我不必使用.place。我原本選擇這個,因爲我認爲這會給我更多的控制權。 – Prox
它可能給予稍微更多的控制權,但你不想要更多的控制權。如果'.grid()'不能完全給你想要的東西,你可以移動到'.place()'來讓你的東西「只是工作」而不需要100% '對於那個具體的事情。但'.grid()'可能在60%的情況下可以準確地給出你想要的,'.pack()'將處理剩下的99%。當需要相對於整個窗口或其他元素進行定位時,'.place()'非常有用,但不能以'.grid()'方式進行定位,並且對於重疊元素也很有用。 – Delioth