2016-08-31 186 views
0

前一段时间,我发布了一个question,询问有关Tkinter后端并随后忘记了它,但后来我意识到我正在使用pyqt后端。有没有解决这个问题?高分辨率屏幕上的PyQt GUI大小

原题:

所以看来matplotlib GUI地块(一拉plt.show())不太适应显示器分辨率,并出现在高分辨率屏幕上的小。有没有一个matplotlib + Pyqt修复程序,或者我在Windows设置的某个地方摆弄?

感谢

Example

回答

0

虽然我没有与PyQt的很多经验,在谷歌上搜索,我发现this SO问题有关设置一个PyQt的窗口的窗口状态最大化。接受的答案说使用self.showMaximized()这样做。

+0

这只是将窗口最大化,不改变GUI元素/文本等的尺寸现在窗口只是更大 – Lucidnonsense

+0

@Lucidnonsense也许这可能帮助。 http://stackoverflow.com/questions/406939/pyqt-getting-widgets-to-resize-automatically-in-a-qdialog – Koga

1

加载应用程序之前,而不是加载时。

插入:

if hasattr(QtCore.Qt, 'AA_EnableHighDpiScaling'): 
    PyQt5.QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling, True) 

if hasattr(QtCore.Qt, 'AA_UseHighDpiPixmaps'): 
    PyQt5.QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, True) 

像这样:

import PyQt5 
from PyQt5 import QtCore, QtGui, uic, QtWidgets 
from PyQt5.QtWidgets import QWidget 

if hasattr(QtCore.Qt, 'AA_EnableHighDpiScaling'): 
    PyQt5.QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling, True) 

if hasattr(QtCore.Qt, 'AA_UseHighDpiPixmaps'): 
    PyQt5.QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, True) 


class MyWindow(PyQt5.QtWidgets.QMainWindow): 
    def __init__(self): 
     super(MyWindow, self).__init__() 

如果仍然不工作,在用户连接var和不系统的连接变种。

QT_AUTO_SCREEN_SCALE_FACTOR=2 

qt-5/highdpi