Tkinter屏幕更改为改变显示 - 简单的纠正方法?

时间:2017-06-04 16:37:34

标签: python python-3.x user-interface tkinter raspberry-pi2

据我所知,其他一些人也提出了类似的问题,虽然我找不到符合我特定问题的问题,所以请保持温和。

我的问题是我使用的每个显示器都会在我的Tkinter显示中完全改变,并且我必须重新定位并通过反复试验再次调整所有内容,这是非常耗时的。有一个简单的方法吗?我在剧本中使用了地点和像素大小,所以我认为每次分辨率变化都要重新开始。

无论如何,我认为我将分辨率设置为Rpi触摸屏并构建了GUI。然而,现在我已经购买了触摸屏,GUI甚至还没有接近它。

我不是那么热衷于不得不重新调整大小并重新定位所有内容,所以如果有人能够分享它,我会感到很幸福。如果没有,我只需要继续使用它。

干杯 克里斯

2 个答案:

答案 0 :(得分:1)

问题是您使用的是place。出于这个原因,应该避免place。如果您学会正确使用gridpack,并且不要致电pack_propagate(0)grid_propagate(0),除非您确定它是您问题的唯一解决方案,tkinter将会执行适应不同屏幕分辨率,字体大小和用户偏好的绝佳工作。

换句话说,“[有]实现我追求的目标的简单方法”的答案是“使用gridpack,并避免place”。

答案 1 :(得分:0)

您可能希望利用屏幕的宽度和高度方面,并使您的程序相对于那些而不是使所有内容都固定/静态。

您可以通过调用窗口小部件上的winfo_width()winfo_height()来获取此尺寸。如果您的屏幕宽度为400像素,而不是制作200像素的椭圆,您可以使其相对,即宽度为2(如果您将winfo_width()声明为变量)。