0
的self.ui.verticalLayout.addWidget(主窗口(个体经营))去除项工作,但试图删除插件时,我收到一个错误。错误在qlayout PyQt4的蟒蛇
类型错误:QLayout.removeWidget(QWidget的):参数1具有意想不到类型 'PyQt4.QtCore.pyqtWrapperType'
下面是样本代码:
我有此单独.py文件创建插件与qtableview
class MyWindow(QWidget):
pcobject =[]
def __init__(self, *args):
QWidget.__init__(self, *args)
layout = QVBoxLayout(self)
self.tableview = QTableView()
layout.addWidget(self.tableview)
........
并单独的.py与垂直布局添加MyWindow类。
-Edited
from tableview import MyWindow
class QTEST(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.table = MyWindow
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.verticalLayout.addWidget(self.table))
self.ui.gridLayout.addLayout(self.ui.verticalLayout, 1, 0, 1, 1)
self.connect(self.ui.pushButton_15, QtCore.SIGNAL("clicked()"), self.table_view)
def table_view(self):
#import sip
self.ui.verticalLayout.removeItem(self.table)
#self.table.setParent(None)
#sip.delete(self.table)
#self.table = None
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = QTEST()
myapp.show()
sys.exit(app.exec_())
是这样的代码是否正确?你甚至没有将'self.table'添加到'verticalLayout'。你为什么试图删除它?顺便说一句,它应该是'self.table = mywindow的()'。你没有实例化这个类。 – Avaris 2012-04-25 03:32:54
对不起,我已经编辑我的代码。我试过你的代码self.table = mywindow的(),但我在addwidget得到一个错误。 TypeError:QBoxLayout.addWidget(QWidget,int stretch = 0,Qt.Alignment alignment = 0):参数1有意外的类型'PyQt4.QtCore.pyqtWrapperType' – unice 2012-04-25 04:12:53
嗯,你试过其他的东西。看看你初始化'self.table'的行。你忘了括号。它应该是'MyWindow()'而不仅仅是'MyWindow'。 – Avaris 2012-04-25 04:47:44