向表格布局添加行

时间:2014-08-06 10:16:34

标签: python qt python-2.7 pyside

代码:

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 个答案:

答案 0 :(得分:2)

您需要使用setLayout()将布局分配给窗口小部件。

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