2013-09-18 4 views
0

Я пытаюсь переместить макет в приложении я writing.For виджеты я использую функцию перемещения, я попытался следующие, но он не работает правильно: КодКак переместить виджет макета с его виджетами в PyQt?

Layout:

self.layoutWidget_3 = QtGui.QWidget(Dialog) 
    self.layoutWidget_3.setGeometry(QtCore.QRect(420, 346, 158, 32)) 
    self.layoutWidget_3.setObjectName(_fromUtf8("layoutWidget_3")) 
    self.horizontalLayout_4 = QtGui.QHBoxLayout(self.layoutWidget_3) 
    self.horizontalLayout_4.setMargin(0) 
    self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4")) 
    self.OK_btn = QtGui.QPushButton(self.layoutWidget_3) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Times New Roman")) 
    font.setPointSize(12) 
    self.OK_btn.setFont(font) 
    self.OK_btn.setStyleSheet(_fromUtf8("")) 
    self.OK_btn.setAutoDefault(False) 
    self.OK_btn.setObjectName(_fromUtf8("OK_btn")) 
    self.horizontalLayout_4.addWidget(self.OK_btn) 
    self.Cancel_btn = QtGui.QPushButton(self.layoutWidget_3) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Times New Roman")) 
    font.setPointSize(12) 
    self.Cancel_btn.setFont(font) 
    self.Cancel_btn.setAutoDefault(False) 
    self.Cancel_btn.setObjectName(_fromUtf8("Cancel_btn")) 
    self.horizontalLayout_4.addWidget(self.Cancel_btn) 

переместить код

#index is an integer 
self.ui.horizontalLayout_4.setGeometry(QtCore.QRect(420, 346+5*index, 158, 32)) 
+0

Я не знаю о вас, но вы никогда не используете 'setLayout' на widget.why? – MadeOfAir

+0

Кроме того, 'self.cancel_btn' и' self.ok_btn' теперь должны отображаться друг над другом, причем последний скрывает первое. Это даже работает? – MadeOfAir

ответ

0

вы должны использовать setGeometry() на виджет вы хотите переместить, а не на макете.

Смежные вопросы