【发布时间】:2017-11-12 07:05:20
【问题描述】:
我已经有了这个函数来检索点击的QPushButton对象名:
void MainWindow::clickedBtnInfo()
{
QPushButton *btnSender = qobject_cast<QPushButton*>(sender()); // retrieve the button you have clicked
QString *clickedBtnName = btnSender->objectName(); // retrive the object name from the clicked button
qDebug() << clickedBtnName;
}
我检查了这个website 以实现rightClicked 信号。
但我想知道我能做些什么来检索右键单击的QPushButton 对象名称。
谢谢。
我如何实现rightClicked 信号的编辑:
void MainWindow::onRightClicked()
{
qDebug() << "User right clicked me";
}
void MainWindow::mousePressEvent(QMouseEvent *e)
{
if(e->button() == Qt::RightButton) {
emit rightClicked();
}
}
然后像这样连接:
connect(this, SIGNAL(rightClicked()), this, SLOT(onRightClicked()));
很抱歉之前没有完全解释我的问题。顺便说一句,我对 Qt 还很陌生,所以希望得到一些具体解释的答案。
非常感谢。
【问题讨论】:
-
您可以添加更多代码,您的问题的主要问题在这里不可见
-
@saeed 我添加了我如何实现它的代码。感谢您的回答,我尝试了您的以下答案。但这些对我来说似乎有点难以理解和实施。
-
您已连接 MainWindow 信号和插槽,因为我了解您想要识别按钮右键单击的问题,如果您想处理单击和右键单击按钮,您应该连接按钮信号。
-
如果没有,您可以发布更多代码,如果可能的话,您可以发送邮件至 saeedsoleimanifar@gmail 以查看您已完成的全部代码
标签: qt qpushbutton