我試圖用PyQt4創建應用程序窗口。我想創建一個帶有框架的窗口,並在框架內部添加一些小部件,如標籤和文本編輯器。 我創建了框架作爲一個QGroupBox,以便能夠在其上放置一個標題。 我知道HBox和VBox似乎是處理幀時的首選佈局,但是,我想用網格佈局來管理框架內部的窗口小部件的位置,我發現它更易於管理。 所以,我想這段代碼:PyQt:如何在PyQt4中的QGroupBox中添加網格佈局
import sys
from PyQt4 import QtGui, QtCore
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
hbox = QtGui.QHBoxLayout()
grid = QtGui.QGridLayout()
#Definition des Tracing Parameters widgets
WindowSize = QtGui.QLabel("Window size (m)")
SampPts = QtGui.QLabel("Sampling points")
WindowSizeEdit = QtGui.QLineEdit()
SampPtsEdit = QtGui.QLineEdit()
TracParamFrame = QtGui.QGroupBox(self)
TracParamFrame.setTitle("Tracing Parameters")
hbox.addLayout(grid)
grid.addWidget(WindowSize,0,0)
grid.addWidget(WindowSizeEdit,0,1)
grid.addWidget(SampPts,1,0)
grid.addWidget(SampPtsEdit,1,1)
self.setLayout(hbox)
self.setGeometry(300,300,350,300)
self.show()
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
主要這裏的想法是創建一個橫向盒,我把QGroupBox,然後將裏面的網格佈局。 的問題是,所產生的應用中,窗口小部件被放置在框架的外面,另外我得到的錯誤:
QLayout:試圖添加QLayout「」實施例「」,它已經具備了佈局 QWidget的:: setLayout:試圖在示例「」上設置QLayout「」,它已經有一個佈局