Comment puis-je redimensionner la fenêtre principale en fonction de la résolution de l'écran à l'aide de PyQt
J'ai une fenêtre principale avec trois cadres.Le cadre supérieur se compose de l'en-tête et la partie inférieure du cadre se compose de bas de page. Je l'ai conçu à l'aide de la PyQt4
designer.La fenêtre a l'air bien quand je le lance sur mon ordinateur portable avec un écran d'une résolution de 1920*1080
. Mais quand je vérifie la même sur d'autres résolutions, comme 1600*900
le pied de page est coupée. Je voulais savoir si il existe un moyen de redimensionner la fenêtre en fonction de la résolution de l'écran dans l'exécution, de sorte que tous les trois images sont affichés. J'ai essayé de vérifier en ligne si il existe des solutions pour cela, mais ne pouvait pas trouver un. J'ai essayé d'utiliser window.setGeometry
et window.setFixedSize
fonctions,mais il n'a pas de travail.
Le code de la fenêtre est:
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_()
OriginalL'auteur Valla | 2014-11-24
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
showFullScreen() ou tout simplement
showMaximized()
et vous pouvez obtenir la géométrie d'écran avec:
bureau() et screenGeometry()
J'ai compris, voir mon montage sur showMaximized, je pense que c'est ce que vous cherchez.
Ne fonctionne toujours pas. J'ai utilisé QT4 designer pour travailler sur les panneaux.Donc, si le widget et la largeur du châssis être redimensionnée par le concepteur lui-même?
donc, ne vous utilisez les mises en page? Mise en page peut redimensionner tous les éléments en conséquence de la taille de la fenêtre principale. Il ne peut pas être fait dans designer parce que concepteur avec votre écran actuel.
J'ai édité ma question et le code qui est dans mon .py fichier. Je n'utilise pas toute la mise en page dans le concepteur lors de la création du formulaire.
OriginalL'auteur Chernobyl