我在Pyqt中製作了一個QTableWidget,並且遇到了一個惱人的打嗝。QTableWidgetItem和QWidget的PyQt子類
我需要在我的表中使用小部件的功能,所以即時使用setCellWidget將它們添加到表中。然而,小部件沒有與QTableWidgetItem的do相同的方法(特別是關於表中的選擇)。
我想知道是否有可能做一些東西的兩個項目,所以我可以有兩個方法,以及我如何將dd到桌子上。
喜歡的東西:
class TableItem(QtGui.QTableWidgetItem, QtGui.QWidget):
def __init__(self, parent=None):
super(TableItem, self).__init__(parent)
self.check = QtGui.QCheckBox()
self.label = QtGui.QLabel('Some Text')
self.h_box = QtGui.QHBoxLayout()
self.h_box.addWidget(self.check)
self.h_box.addWidget(self.label)
然後以某種方式添加到我的表作爲TableWidgetItem,使其顯示部件,也有選擇方法可用。
這裏的任何想法?
參考: setCellWidget:http://pyqt.sourceforge.net/Docs/PyQt4/qtablewidget.html#setCellWidget QWidget的:(不好找,我不能上傳超過2個鏈接) 哪位可是沒有一個表 QTableWidgetItem漂亮的方法:http://pyqt.sourceforge.net/Docs/PyQt4/qtablewidgetitem.html#type 與isSelected和的setSelected(方法不你可以使用table.cellWidget(row,column),然後使用你的小部件方法,但是使用setSelected和isSelected方法來創建一個小部件,你不能檢查選擇,我希望將這兩個子集合在一起以允許
--Basically我需要知道如何讓我的班「迴歸」正確的類型時,我把它添加到表setItem
我是否正確地說明白你希望QTableWidget中的項目本身是widgets,而不是通常用於生成QTableWidgetItems的常規QStrings,ints等等? – ballsatballsdotballs 2014-09-24 23:23:57
正確。 QTableWidget中有一個setCellWidget方法,您可以在表中使用小部件 - 這非常棒,效果很好。唯一的問題是你沒有得到像QTableWidgetItem一樣的選擇狀態等很好的方法。我更新問題鏈接到每個 – Alex 2014-09-25 00:05:34
我認爲你的繼承方法基本上是正確的。究竟哪種方法不適用於這種方法? – Fenikso 2014-09-25 08:45:09