【发布时间】:2021-04-20 18:53:41
【问题描述】:
取以下代码:
from PyQt5 import QtGui, QtWidgets, QtCore
from PyQt5.QtWidgets import QApplication, QMainWindow
import sys
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
win_w, win_h = 854, 735
self.setGeometry((1920 - win_w) // 2, (1080 - win_h) // 2, win_w, win_h)
self.setWindowTitle('Test')
self.setFont(QtGui.QFont('Times', 12))
self.central_widget()
def central_widget(self):
widget = QtWidgets.QWidget()
grid = QtWidgets.QGridLayout()
text_edit1 = QtWidgets.QTextEdit()
text_edit2 = QtWidgets.QTextEdit()
grid.addWidget(text_edit1, 0,0)
grid.addWidget(text_edit2, 0,1)
widget.setLayout(grid)
self.setCentralWidget(widget)
if __name__ == '__main__':
app = QApplication(sys.argv)
win = MainWindow()
win.show()
sys.exit(app.exec_())
产生这个结果:
。但我想让左侧的 textEdit 更小,如下所示:
即使我在将其添加到布局之前(或之后)setGeometry,它也会被重置。
有没有办法在将小部件添加到布局后更改其几何形状?
【问题讨论】:
-
如果有布局管理器,使用
setGeometry()是没有意义的(布局管理 大小和位置)。阅读有关stretch factors 的更多信息。 -
@musicamante 如何应用拉伸?我应该将它应用到小部件还是布局?我没有注意到链接中的任何内容。
-
@Haveaniceday 最大的问题是:左侧元素的宽度应该是多少?应该是固定宽度还是应该是窗口宽度的比例?
-
@eyllanesc 从长远来看我不确定,但现在我想要固定宽度,如果可能的话
标签: python pyqt pyqt5 qgridlayout