【发布时间】:2015-01-17 20:19:00
【问题描述】:
当我运行以下函数时,对话框会显示所有内容。问题是按钮无法连接。 OK 和 Cancel 不响应鼠标点击。
void MainWindow::initializeBOX(){
QDialog dlg;
QVBoxLayout la(&dlg);
QLineEdit ed;
la.addWidget(&ed);
//QDialogButtonBox bb(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
//btnbox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
la.addWidget(buttonBox);
dlg.setLayout(&la);
if(dlg.exec() == QDialog::Accepted)
{
mTabWidget->setTabText(0, ed.text());
}
}
在运行时,cmd中显示错误:没有accept()和reject()这样的槽。
【问题讨论】:
-
您的
MainWindow中有accept()和reject()插槽吗? -
不,这就是我想要做的。我添加了 Void accept(),但它不起作用。我是 Qt 新手,你能告诉我如何添加 SLOT 谢谢@Nejat
标签: c++ qt signals-slots qt-designer qdialog