在qtablewidget中是否还有类似按钮的添加?但是单元格内的日期必须显示,例如,如果用户双击单元格,我可以像按钮一样发送信号吗?谢谢!
editItem():

def editItem(self,clicked):
    if clicked.row() == 0:
        #go to tab1
    if clicked.row() == 1:
        #go to tab1
    if clicked.row() == 2:
        #go to tab1
    if clicked.row() == 3:
        #go to tab1

表触发器:
self.table1.itemDoubleClicked.connect(self.editItem)

最佳答案

您有几个问题被汇总成一个……简短的回答,是的,您可以向qtablewidget添加一个按钮-您可以通过调用setcellwidget向table widget添加任何小部件:

# initialize a table somehow
table = QTableWidget(parent)
table.setRowCount(1)
table.setColumnCount(1)

# create an cell widget
btn = QPushButton(table)
btn.setText('12/1/12')
table.setCellWidget(0, 0, btn)

但听起来不像你真正想要的。
听起来你想对用户双击你的一个单元格做出反应,就好像他们单击了一个按钮,大概是为了显示一个对话框或编辑器之类的东西。
如果是这种情况,那么您真正需要做的就是从qtablewidget连接到itemDoubleClicked信号,如下所示:
def editItem(item):
    print 'editing', item.text()

# initialize a table widget somehow
table = QTableWidget(parent)
table.setRowCount(1)
table.setColumnCount(1)

# create an item
item = QTableWidgetItem('12/1/12')
table.setItem(0, 0, item)

# if you don't want to allow in-table editing, either disable the table like:
table.setEditTriggers( QTableWidget.NoEditTriggers )

# or specifically for this item
item.setFlags( item.flags() ^ Qt.ItemIsEditable)

# create a connection to the double click event
table.itemDoubleClicked.connect(editItem)

关于python - 将小部件添加到qtablewidget pyqt,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12009134/

10-13 09:06