当您说不能使用时
grid_propagate(False),您错了,因为可以。
grid_propagate与 实际 大小有关,与size
属性 无关。另外,如果您只是使用来给您的应用程序固定大小
wm_geometry,则字体更改不会影响窗口的大小。
这是一个使用的示例
grid_propagate,该示例将容器设置为固定大小(以像素为单位):
import Tkinter as tkimport tkFontclass SampleApp(tk.Tk): def __init__(self, *args, **kwargs): tk.Tk.__init__(self, *args, **kwargs) self._textFont = tkFont.Font(name="TextFont") self._textFont.configure(**tkFont.nametofont("TkDefaultFont").configure()) toolbar = tk.frame(self, borderwidth=0) container = tk.frame(self, borderwidth=1, relief="sunken", width=600, height=600) container.grid_propagate(False) toolbar.pack(side="top", fill="x") container.pack(side="bottom", fill="both", expand=True) container.grid_rowconfigure(0, weight=1) container.grid_columnconfigure(0, weight=1) text = tk.Text(container, font="TextFont") text.grid(row=0, column=0, sticky="nsew") zoomin = tk.Button(toolbar, text="+", command=self.zoom_in) zoomout = tk.Button(toolbar, text="-", command=self.zoom_out) zoomin.pack(side="left") zoomout.pack(side="left") text.insert("end", '''Press te + and - buttons to increase or decrease the font size''') def zoom_in(self): font = tkFont.nametofont("TextFont") size = font.actual()["size"]+2 font.configure(size=size) def zoom_out(self): font = tkFont.nametofont("TextFont") size = font.actual()["size"]-2 font.configure(size=max(size, 8))if __name__ == "__main__": app = SampleApp() app.mainloop()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)