前一段时间,我发布了一个question,询问有关Tkinter后端并随后忘记了它,但后来我意识到我正在使用pyqt后端。有没有解决这个问题?高分辨率屏幕上的PyQt GUI大小
原题:
所以看来matplotlib GUI地块(一拉plt.show())不太适应显示器分辨率,并出现在高分辨率屏幕上的小。有没有一个matplotlib + Pyqt修复程序,或者我在Windows设置的某个地方摆弄?
感谢
前一段时间,我发布了一个question,询问有关Tkinter后端并随后忘记了它,但后来我意识到我正在使用pyqt后端。有没有解决这个问题?高分辨率屏幕上的PyQt GUI大小
原题:
所以看来matplotlib GUI地块(一拉plt.show())不太适应显示器分辨率,并出现在高分辨率屏幕上的小。有没有一个matplotlib + Pyqt修复程序,或者我在Windows设置的某个地方摆弄?
感谢
虽然我没有与PyQt的很多经验,在谷歌上搜索,我发现this SO问题有关设置一个PyQt的窗口的窗口状态最大化。接受的答案说使用self.showMaximized()
这样做。
加载应用程序之前,而不是加载时。
插入:
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
这只是将窗口最大化,不改变GUI元素/文本等的尺寸现在窗口只是更大 – Lucidnonsense
@Lucidnonsense也许这可能帮助。 http://stackoverflow.com/questions/406939/pyqt-getting-widgets-to-resize-automatically-in-a-qdialog – Koga