gpt4 book ai didi

python - 如何制作分割窗口?

转载 作者:行者123 更新时间:2023-12-01 07:34:22 24 4
gpt4 key购买 nike

我需要制作一个可调整大小的窗口,该窗口分为四个相同的部分。每个部分都应该包含我的内容。

我想看到什么(图片):

Think of people that are blind...

最佳答案

您必须使用QGridLayout使用方法 setRowStretch() 在每行和每列中拉伸(stretch) 1 , setColumnStretch() ,分别。

示例:

from PyQt5 import QtCore, QtGui, QtWidgets


class MainWindow(QtWidgets.QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)

central_widget = QtWidgets.QWidget()
self.setCentralWidget(central_widget)

self.m_w11 = QtWidgets.QWidget()
self.m_w12 = QtWidgets.QWidget()
self.m_w21 = QtWidgets.QWidget()
self.m_w22 = QtWidgets.QWidget()

lay = QtWidgets.QGridLayout(central_widget)

for w, (r, c) in zip(
(self.m_w11, self.m_w12, self.m_w21, self.m_w22),
((0, 0), (0, 1), (1, 0), (1, 1)),
):
lay.addWidget(w, r, c)
for c in range(2):
lay.setColumnStretch(c, 1)
for r in range(2):
lay.setRowStretch(r, 1)

lay = QtWidgets.QVBoxLayout(self.m_w11)
lay.addWidget(QtWidgets.QTextEdit())

lay = QtWidgets.QVBoxLayout(self.m_w12)
lay.addWidget(QtWidgets.QTableWidget(4, 4))

lay = QtWidgets.QVBoxLayout(self.m_w21)
lay.addWidget(QtWidgets.QLineEdit())

lay = QtWidgets.QVBoxLayout(self.m_w22)
lay.addWidget(QtWidgets.QLabel("Text", alignment=QtCore.Qt.AlignCenter))


if __name__ == "__main__":
import sys

app = QtWidgets.QApplication(sys.argv)
w = MainWindow()
w.resize(640, 480)
w.show()
sys.exit(app.exec_())

输出:

enter image description here

关于python - 如何制作分割窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57065370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com