我在python中编写了一个程序,我使用了绝对定位,所有的大小和位置都以像素为单位指定。 当我在我的电脑上运行时,它工作正常,但是当我在另一台PC上运行它没有正确显示时,组件彼此重叠,并且它们的位置不是它们应该的方式。 以下是ok gui的示例:http://postimg.org/image/e4od9f52f/ 这是坏gui:http://postimg.org/image/jy30nq63r/
这只是一个例子,每个对话都有这样的问题。
任何人都知道什么是问题?
提前, Aleksa
答案 0 :(得分:5)
问题在于您使用的是绝对定位。不同的操作系统对事物使用不同的默认大小,例如字体。因此,Windows上的默认字体大小可能大于或小于Linux上的默认字体大小。这是使用绝对定位跨平台可能有点吮吸的众多原因之一。如果您更改主题或分辨率,您也会在Windows上看到这种情况,或者在整体调整文本大小时,您也会在Windows 7中看到这种情况。
这就是使用sizer非常有用的原因。 Sizer知道字体的大小和小部件的大小,他们尽最大努力防止这类事情发生。以下是一些可以帮助您入门的文章: