首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QDialogButtonBox按钮可以在连接后不工作

QDialogButtonBox按钮可以在连接后不工作
EN

Stack Overflow用户
提问于 2014-11-22 18:49:31
回答 1查看 1.8K关注 0票数 1

我有一个mainWindow类,当双击QTabBar时调用函数mainWIndow::ShowDialogBox()。会出现对话框,但它没有连接按钮。我有ShowDialogBox的连接电话。它在连接上给了我红色的下划线

代码语言:javascript
复制
 no instance of overloaded function "MainWindow::connect" matches the argument list"

这是我的密码

代码语言:javascript
复制
bool MainWindow::eventFilter(QObject *object, QEvent *event)
 {
    if (object == mTabWidget->getTabBar() && event->type() == QEvent::MouseButtonDblClick) 
    {
        qDebug()<<"dblclk";

    ShowDialogBox();

    }

    return QObject::eventFilter(object, event);
}

//Show dialog box when double clicked on QTabBar
void MainWindow::ShowDialogBox(){

    QDialog dialog;
    QVBoxLayout layout(&dialog);
    QLineEdit editLine;
    layout.addWidget(&editLine);

     QDialogButtonBox *dialogButton = new QDialogButtonBox(QDialogButtonBox::Ok );
     connect(dialogButton, SIGNAL(accepted()), dialog, SLOT(accept())); //this 'connect' is underlined
     layout.addWidget(dialogButton);
     dialog.setLayout(&layout);


    if(dialog.exec() == QDialog::Accepted)
    {
        mTabWidget->setTabText(0, editLine.text());
    }

  }

我在mainWindow.h中添加了信号和插槽

代码语言:javascript
复制
private slots:
    void accept();

signals:

    void accepted();

我花了好几个小时在这件事上,但没有运气。我对Qt很陌生。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-22 21:57:45

行:

代码语言:javascript
复制
connect(dialogButton, SIGNAL(accepted()), dialog, SLOT(accept()));

应:

代码语言:javascript
复制
connect(dialogButton, SIGNAL(accepted()), &dialog, SLOT(accept()));

因为第三个参数必须是一个内存地址(指针)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27081130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档