автоматическое изменение размера виджета в соответствии с любым разрешением windows? - PullRequest
0 голосов
/ 10 июля 2020

У меня возникают проблемы с автоматическим изменением размеров виджетов в QDialog при изменении размера самого диалога. Я пытаюсь записать видео с веб-камеры с помощью python с помощью Qt Designer. При запуске QWidget на моем ноутбуке (например, QLabel, Text et c.) Размер подходит, потому что я назначаю его в соответствии с разрешением моего ноутбука. Но на другом компьютере с высоким разрешением размер Qwidget не фиксирован. Я не хочу редактировать каждый раз, когда запускаю программу на разных машинах. Я также пробовал использовать код mainWindow.showMaximized (). Но QLabel, Text et c. не взрослеют. И я нашел эту ссылку PyQt GUI size на экранах с высоким разрешением и попробовал согласно ответу Mr. Storm Shadow. Но я не знаю, как сделать руководство его ответа «И если это все еще не работает, в пользовательском en var, а не в системе en var. QT_AUTO_SCREEN_SCALE_FACTOR = 2». Я не знаю, означает, что «в пользовательском en var, а не system en var. QT_AUTO_SCREEN_SCALE_FACTOR = 2 ".

Ниже приведен код, когда я впервые пробую в qt5 и компилирую с python.

import sys
import PyQt5
from PyQt5 import QtCore, QtGui, uic, QtWidgets
from PyQt5 import QtCore, QtGui, QtWidgets


from PyQt5.QtWidgets import QApplication
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)
QT_AUTO_SCREEN_SCALE_FACTOR = 1
class Ui_Dialog(object):
    def setupUi(self, Dialog):

        Dialog.setObjectName("Dialog")
        Dialog.setWindowModality(QtCore.Qt.WindowModal)
        Dialog.setEnabled(True)

        rec = QApplication.desktop().availableGeometry()
        height = rec.height();
        width = rec.width();

        Dialog.resize(width, height)
        self.control_bt = QtWidgets.QPushButton(Dialog)
        self.control_bt.setGeometry(QtCore.QRect(630, 540, 75, 23))
        self.control_bt.setObjectName("control_bt")
        self.image_label = QtWidgets.QLabel(Dialog)
        self.image_label.setGeometry(QtCore.QRect(0, 60, 521, 691))
        self.image_label.setFrameShape(QtWidgets.QFrame.Box)
        self.image_label.setFrameShadow(QtWidgets.QFrame.Raised)
        self.image_label.setLineWidth(7)
        self.image_label.setText("")
        self.image_label.setObjectName("image_label")
        self.TEXT = QtWidgets.QTextBrowser(Dialog)
        self.TEXT.setGeometry(QtCore.QRect(330, 0, 691, 51))
        self.TEXT.setFrameShape(QtWidgets.QFrame.Box)
        self.TEXT.setFrameShadow(QtWidgets.QFrame.Raised)
        self.TEXT.setObjectName("TEXT")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...