【问题标题】:How to detect button clicked in a cell from qtablewidget如何从qtablewidget检测单元格中单击的按钮
【发布时间】:2012-03-12 17:55:54
【问题描述】:

我已经使用 qtablewidget 创建了一个表。该表包含几个按钮。我已经为那些具有功能的按钮连接了点击事件。问题是,我想知道发送点击事件的按钮的行和列。 IE。当用户单击一个按钮时,我想知道它在表格中的位置。我怎么做?

【问题讨论】:

    标签: c++ qt user-interface qtablewidget


    【解决方案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】:

      您可能需要连接来自QTableWidgetcellClicked 信号以获取单元格的行和列。您可能需要测试发出信号的顺序,以了解您是需要为按钮发出信号还是直接调用该信号的处理程序。

      【讨论】:

      • 我点击的是单元格内的 qpushbutton,而不是单元格本身。所以 cellclicked 可能不起作用。
      猜你喜欢
      • 2018-08-07
      • 2020-11-06
      • 2021-02-24
      • 1970-01-01
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      • 2014-08-13
      相关资源
      最近更新 更多