高分辨率屏幕上的PyQt GUI大小

时间:2016-08-31 10:39:10

标签: python qt user-interface matplotlib pyqt

前一段时间我发布了一个question询问Tkinter后端,后来忘了它但我已经意识到我已经使用了pyqt后端。有没有修复?

原始问题:

因此看起来matplotlib gui图(la plt.show())不适应显示器分辨率并且在高分辨率屏幕上看起来很小。是否有matplotlib + Pyqt修复,或者我在Windows设置中的某处摆弄?

由于

Example

2 个答案:

答案 0 :(得分:4)

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

插入:

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__()

如果仍然无效,请在用户en var而不是system en var。

QT_AUTO_SCREEN_SCALE_FACTOR=2 

qt-5/highdpi

答案 1 :(得分:0)

虽然我对PyQt没有多少经验,但在谷歌上搜索时我发现this关于将PyQT窗口的窗口状态设置为最大化的问题。接受的答案是使用self.showMaximized()来执行此操作。