Ukntu 14.02上的Tkinter报告宽度为两个监视器的总和

时间:2014-06-24 03:44:31

标签: ubuntu tkinter multiple-monitors

我在新的Ubuntu 14.02机器上有两台显示器。 一台显示器是1024X768 VGA。第二台显示器是1920X1080 HDMI 无论我做什么root.winfo_screenwidth()报告2944(两个监视器的总和) (如果我堆叠监视器,则winfo_screenheight报告高度之和)

当然,我在Windows上完成了大部分软件开发工作,但是它工作正常(有两台显示器)

只有一台显示器插入Ubuntu机器,它可以正常工作。

这一切都非常糟糕:

import Tkinter

root=Tkinter.Tk()
root.attributes('-fullscreen',True)
root.update()
print root.winfo_screenwidth()
print root.winfo_screenheight()

当Tkinter使用-fullscreen属性创建根窗口时,它会创建一个它认为比它宽的窗口。 所以在我的Windows机器上(有两个显示器)root.winfo_screenwidth()是1680。 但是在我的Ubuntu机器上(有两个显示器),root.winfo_screenwidth()是2944。

帮助.....

1 个答案:

答案 0 :(得分:1)

我猜测Windows和X之间的差异。

在Windows上:root.winfo_screenwidth()等于当前监视器宽度。

On X:root.winfo_screenwidth()等于所有监视器的宽度。 (@tripleee的道具)

root.winfo_width()等于X和windows上当前显示的宽度。

窗口和X之间的差异是否有很好的参考?

相关问题