【发布时间】:2020-11-11 17:15:39
【问题描述】:
我是 Tkinter 的新手,还在学习。我的桌面分辨率是 1366x768,我正在为 2048x768 的环境进行开发。现在我正在通过像这样检测它来设置窗口分辨率 -
w = main_container.winfo_screenwidth()
h = main_container.winfo_screenheight()
main_container.geometry(str(w) + "x" + str(h))
现在我有几个屏幕,我不能在每个屏幕上都使用网格。就像我有一个登录屏幕,其中有一个这样的框架-
self.frame_background = tk.Frame(self.frame_parent, bg='#ffffff')
self.frame_background.pack(fill='both', expand=True, padx=100,
pady=100)
这只是一个小部件的示例。由于 padx 和 pady 的值固定为 100,如果我在 640x480 分辨率的设备上运行我的应用程序,布局会变得过于拉伸,并且在此框架内几乎看不到任何东西。 如何根据屏幕大小和分辨率动态设置这些 padx 和 pady 以及其他宽度和高度值?
【问题讨论】:
-
类似
padx=0.05*w和pady=0.1*h? -
为什么要将 padx 和 pady 设置为如此庞大的数字?您是否猜测这足以使小部件适合屏幕?您是否尝试过使用其他包选项,例如
fill="both"? -
@acw1668 你能解释一下你是如何得出这些值 0.05 和 0.1 的吗?
-
这只是一个例子,您需要根据自己的情况调整值。
-
完全不清楚你在问什么。请edit 包含minimal reproducible example 的代码。很难说出“比例”是什么意思——你想让字体变大和变小吗?一块可以增长或缩小的画布?按钮边框变宽变窄?还有什么?
标签: python python-3.x tkinter