PySide/pyQt 通过单击垂直标题在 QTableWidget 中选择一整行时发送啥信号
Posted
技术标签:
【中文标题】PySide/pyQt 通过单击垂直标题在 QTableWidget 中选择一整行时发送啥信号【英文标题】:PySide/pyQt What signal is sent when selecting a whole row in QTableWidget by clicking on vertical headerPySide/pyQt 通过单击垂直标题在 QTableWidget 中选择一整行时发送什么信号 【发布时间】:2013-10-09 15:55:23 【问题描述】:- 1 2 3
1 a b c
2 d e f
3 g h i
点击1选择a、b、c时,tableWidget发送什么信号。
我只在C中找到了答案(我认为无论如何都是这个问题的答案)。以下是
connect( (QObject*) this->verticalHeader(), SIGNAL( sectionClicked(int) ), this, SLOT( rowSelection( int ) ) );
我尝试像这样在 python 中实现它:
self.QTableWidget.verticalHeader.sectionClicked.connect(self.Test)
但它说verticalHeader没有属性sectionClicked。
【问题讨论】:
【参考方案1】:我认为发出的信号是正确的,但您的代码不太正确。以下小例子似乎对我有用:
from PySide import QtGui
import sys
class W(QtGui.QTableWidget):
def __init__(self):
super(W,self).__init__(3, 3)
self.verticalHeader().sectionClicked.connect(self.onSectionClicked)
def onSectionClicked(self, logicalIndex):
print("onSectionClicked:", logicalIndex)
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
w = W()
w.show()
sys.exit(app.exec_())
所以,从QTableWidget实例中,你需要通过调用verticalHeader()
获取垂直表头对象,其中有你提到的信号sectionClicked
。
【讨论】:
以上是关于PySide/pyQt 通过单击垂直标题在 QTableWidget 中选择一整行时发送啥信号的主要内容,如果未能解决你的问题,请参考以下文章
PySide/PyQt:PointingHandCursor 食谱?
将 PySide/PyQt 小部件嵌入到 Qt/C++ 应用程序中
Python/pyside,pyqt(pyside,pyqt optional): 控制文本选择的函数