如何使用PyQt根据屏幕分辨率调整主窗口的大小

时间:2014-11-24 16:36:25

标签: python qt pyqt pyqt4

我有一个带三个框架的主窗口。顶部框架由标题组成,底部框架由页脚组成。我使用PyQt4设计师设计了它。当我在我的笔记本电脑上运行它时,窗口看起来很好,屏幕分辨率为1920*1080。但是当我在1600*900之类的其他分辨率上检查相同时,页脚会被切断。我想知道是否有办法根据运行时的屏幕分辨率调整窗口大小,以便显示所有三个帧。我试图在线检查是否有任何解决方案,但找不到任何解决方案。我尝试使用window.setGeometrywindow.setFixedSize函数,但它不起作用。

窗口的代码是:

import sys
import os
import threading
import smtplib

from PyQt4 import QtCore, QtGui, uic
import sched
import time

form_class = uic.loadUiType("FirstTest.ui")[0]                 # Load the UI
try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    _fromUtf8 = lambda s: s

class MyWindowClass(QtGui.QMainWindow, form_class):
    def __init__(self, parent=None):
        QtGui.QMainWindow.__init__(self, parent)        
        self.setupUi(self)        

#has some code for the field values to be shown







app = QtGui.QApplication(sys.argv)
myWindow = MyWindowClass(None)
#myWindow.setFixedSize(500,500)
myWindow.showMaximized()
palette = QtGui.QPalette()
palette.setColor(QtGui.QPalette.Background,QtCore.Qt.white)
myWindow.setPalette(palette)
myWindow.show()
app.exec_()

1 个答案:

答案 0 :(得分:4)

您可以使用

showFullScreen()showMaximized()

您可以通过以下方式获取屏幕几何图形:

desktop()screenGeometry()