如何在字体更改时停止Tkinter Text小部件调整大小?

如何在字体更改时停止Tkinter Text小部件调整大小?,第1张

如何在字体更改时停止Tkinter Text小部件调整大小

当您说不能使用时

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()


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5642836.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存