2015-05-18 41 views
2

使用tkinter画布,为了计算我显示的图形大小,我通常使用函数winfo_screenwidth(),并相应地调整我的对象大小。 但是,当在具有两个显示器的系统上使用时,winfo_screenwidth()会返回两个显示器的合并宽度 - 这会弄乱我的图形。 如何分别找出每个显示器的屏幕宽度(以像素为单位)?tkinter winfo_screenwidth()与双显示器一起使用

我有多个版本的Python 3.x和多种版本的tkinter(全部8.5或以上)在各种Linux机器上(Ubuntu和Mint)有这个问题。

例如,第一台显示器的宽度为1440像素。第二个是1980像素宽。 winfo_screenwidth()返回3360.

我需要找到一种方法来独立确定每个显示器的屏幕宽度。

谢谢!

+0

重复[this](https://stackoverflow.com/questions/17741928/python-tkinter-screen-width-and-height-secondary-display)我想。 – IronManMark20

+0

@ IronManMark20它不是。他们是两个相关但不同的问题。 – Zizouz212

+0

进入这个确切的问题请参阅: Burtski

回答

0

基于this slightly different question,我建议如下:

t.state('zoomed') 
m_1_height= t.winfo_height() 
m_1_width= t.winfo_width() #this is the width you need for monitor 1 

这样的窗口将放大,以填补一个屏幕。其他显示器的宽度只是wininfo_screenwidth()-m_1_width

我也会指出你找到优秀的ctypes方法找到显示器尺寸的窗口找到here。注意:与帖子不同,ctypes在stdlib中!无需安装任何东西。