У меня есть класс mainWindow, который вызывает функцию mainWIndow::ShowDialogBox()
, когда дважды щелкнул QTabBar. Появится диалоговое окно, но это не соединение кнопок. У меня есть вызовы connect в 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
@luliu: Нет. Мы должны? как я сказал, что я новичок, поэтому не могу понять это. – user2
Нет ... ли 'MainWindow' наследует' QMainWindow'? Что произойдет, если вы замените 'connect' на' QObject :: connect'? – Iuliu