如何从qtablewidget检测单元格中单击的按钮
Posted
技术标签:
【中文标题】如何从qtablewidget检测单元格中单击的按钮【英文标题】:How to detect button clicked in a cell from qtablewidget 【发布时间】:2012-03-12 17:55:54 【问题描述】:我已经使用 qtablewidget 创建了一个表。该表包含几个按钮。我已经为那些具有功能的按钮连接了点击事件。问题是,我想知道发送点击事件的按钮的行和列。 IE。当用户单击一个按钮时,我想知道它在表格中的位置。我怎么做?
【问题讨论】:
【参考方案1】:如果你有办法区分按钮本身,你可以调用
QObject* senderButton = Sender();
从接收信号的槽中获取指向发送信号的对象的指针 (http://doc.trolltech.com/4.7/qobject.html#sender)。
否则你可能想看看
QSignalMapper
这里有一个例子:http://doc.trolltech.com/4.7/signalsandslots.html#advanced-signals-and-slots-usage
【讨论】:
【参考方案2】:您可能需要连接来自QTableWidget
的cellClicked
信号以获取单元格的行和列。您可能需要测试发出信号的顺序,以了解您是需要为按钮发出信号还是直接调用该信号的处理程序。
【讨论】:
我点击的是单元格内的 qpushbutton,而不是单元格本身。所以 cellclicked 可能不起作用。以上是关于如何从qtablewidget检测单元格中单击的按钮的主要内容,如果未能解决你的问题,请参考以下文章
如何使 QTableWidget 内的单元格小部件的背景不可选?
QT的QTableWidget控件中单元格图片如何导出到EXCEL文件对应单元格中