我有一个mainWindow类,当双击QTabBar时调用函数mainWIndow::ShowDialogBox()
。该对话框出现,但它没有连接按钮。我在ShowDialogBox中有连接调用。它给了我一个红色下划线上连接话说QDialogButtonBox按钮好吧,不要在连接之后再打
no instance of overloaded function "MainWindow::connect" matches the argument list"
这是我的代码
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作为
private slots:
void accept();
signals:
void accepted();
我不得不花费数小时在这但没有运气。我是Qt新手。
你有没有实现你的MainWindow :: connect功能? – Iuliu 2014-11-22 18:54:45
@luliu:不需要吗?正如我所说我是新的,所以不能真正弄清楚。 – user2 2014-11-22 18:56:13
没有...... MainWindow继承QMainWindow吗?如果你用'QObject :: connect'替换'connect'会发生什么? – Iuliu 2014-11-22 19:38:47