在表单布局中添加行

0 投票
1 回答
3371 浏览
提问于 2025-04-18 16:13

代码:

import sys
from PySide.QtCore import *
from PySide.QtGui import *

def main():
    app = QApplication(sys.argv)
    main = QMainWindow()
    main.setWindowTitle("First GUI")
    form_widget = QWidget()
    form_widget.layout = QFormLayout()
    form_widget.layout.addRow(QLabel("city 1"), QLabel("delhi"))
    form_widget.layout.addRow(QLabel("city 2"), QLabel("chennai"))
    main.setCentralWidget(form_widget)

    main.show()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()

上面的代码打开了一个空窗口,标题是“First GUI”。

但是这个窗口里没有添加任何行。这是为什么呢?怎么才能解决这个问题?

1 个回答

3

你需要使用 setLayout() 这个方法来给你的控件设置布局。

form_widget = QWidget()
layout = QFormLayout()
layout.addRow(QLabel("city 1"), QLabel("delhi"))
layout.addRow(QLabel("city 2"), QLabel("chennai"))
form_widget.setLayout(layout)

撰写回答