Auf diese Frage ich beziehe mich auf das Beispiel calculator.py von http://zetcode.com/gui/pyqt5/layout/PyQt5: Wie fixiere ich die Breite/Höhe einer bestimmten Spalte/Zeile in QGridLayout?
Im Beispiel wird die QGridLayout
verwendet wurde. Ich möchte fragen, ob es möglich ist, die Breite/Höhe für bestimmte Spalten/Zeilen zu definieren?
Bitte sehen Sie das Bild. Zum Beispiel möchte ich die zweite Spalte hat die Breite von 50px und die dritte Zeile hat die Höhe 80px. So, egal wie groß/klein das Fenster ist, diese 50px und 80px werden immer wie definiert angezeigt. Die restlichen Zeilen/Spalten können automatisch skaliert werden, wenn sich die Fenstergröße ändert.
Ich habe gesucht, konnte aber nicht die Antwort finden.
Danke für Ihre Hilfe und Hinweis!
UPDATE: Für Ihre Bequemlichkeit ich fügen Sie den Code hier (mit kleinen Änderungen an der ursprünglichen Version)
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import (QWidget, QGridLayout, QPushButton, QApplication)
class Example(QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
grid = QGridLayout()
self.setLayout(grid)
names = ['Cls', 'Bck', '', 'Close',
'7', '8', '9', '/',
'4', '5', '6', '*',
'1', '2', '3', '-',
'0', '.', '=', '+']
positions = [(i,j) for i in range(5) for j in range(4)]
for position, name in zip(positions, names):
if name == '':
continue
button = QPushButton(name)
grid.addWidget(button, *position)
self.move(300, 150)
self.setWindowTitle('Calculator')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
zeigen Sie Ihren Code. – eyllanesc
@eyllanesc Bitte beachten Sie den obigen Code. Ich könnte nur den Originalcode einfügen, weil ich keine Ahnung habe, wie ich diese Frage machen soll. –