为什么Tkinter在Windows上渲染质量更差?

时间:2017-03-19 13:50:49

标签: python windows user-interface tkinter

我在Mac上用Tkinter开发了一个python应用程序。它涉及表格和画布图纸。在Mac上,它看起来很棒。然而,在我的戴尔笔记本电脑(4K显示器,比我的Mac更强大),Tkinter ui看起来非常像素化,并且某些元素的位置略有不同。这个问题是什么,以及如何在戴尔Windows 10或其他平台上更好地渲染Tkinter? 这是UI的相同部分的屏幕截图(显示表单和画布图)......

窗(坏) enter image description here

MAC(正常)

enter image description here

3 个答案:

答案 0 :(得分:1)

enter image description here

同一应用程序的显示差异是由于每个操作系统使用的渲染引擎的差异。

这包含在名为Tkinter GUI Application Development Blueprints的Pakt pub电子书中

有关此主题的段落here

这可能会很痛苦,但看起来最常见的解决方法是使用 外部选项数据库 检测您的环境并编写独立样式 更多信息可在文档here中找到。

答案 1 :(得分:1)

仅在OSX中为Tkinter画布对象启用抗锯齿。您可以获取aggDraw lib:http://effbot.org/zone/tkinter-aggdraw.htm作为解决方法,但是在尝试在画布上绘制时会出现锯齿状线条。但是,字体应该在所有主要平台上消除锯齿。

答案 2 :(得分:0)

将MAC的分辨率视为1366x768(预期),假设您的应用程序窗口大小为683x384,等于(1366/2 x 768/2)。

当应用程序在4k显示器上运行时,它将显示主窗口的尺寸为683x384,但其在4k上的尺寸将为4k / 2.

所以你可以做的就是编写一个具有可变尺寸屏幕的通用程序,这样它就可以根据屏幕尺寸调整窗口大小。

有关详细信息,请参阅https://www.tutorialspoint.com/python3/python_gui_programming.htm

希望这会有所帮助。