c – Qt:某些插槽不会在发布模式下执行
发布时间:2020-12-16 07:27:20 所属栏目:百科 来源:网络整理
导读:我在Qt(MSVC 2008)中做了一些简单的程序,只有很少的复选框和按钮.在调试模式下,一切正常,但我不能分发这样的可执行文件,因为大多数人没有安装Visual Studio.当我在发布模式下编译它时,只有2个按钮工作. 我使用Qt Creator的’绘图工具’设计了我的窗口(Qt Des
我在Qt(MSVC 2008)中做了一些简单的程序,只有很少的复选框和按钮.在调试模式下,一切正常,但我不能分发这样的可执行文件,因为大多数人没有安装Visual Studio.当我在发布模式下编译它时,只有2个按钮工作.
我使用Qt Creator的’绘图工具’设计了我的窗口(Qt Designer,我猜). private slots: void on_goButton_clicked(); // Works fine void on_InputCheckBox_stateChanged(int arg1); // Don't work void on_outputFileCheckBox_stateChanged(int arg1); // Same as above void on_inputBrowseButton_clicked(); // Don't work,since theyre disabled void on_outputBrowseButton_clicked(); // Same as above void replyFinished(QNetworkReply *); 我对这些信号的实现如下: void MainWindow::on_InputCheckBox_stateChanged(int arg1) { if (arg1 == Qt::Checked) { ui->inputEdit->setEnabled(true); ui->inputBrowseButton->setEnabled(true); } else { ui->inputEdit->setEnabled(false); ui->inputBrowseButton->setEnabled(false); } } void MainWindow::on_outputFileCheckBox_stateChanged(int arg1) { if (arg1 == Qt::Checked) { ui->outputEdit->setEnabled(true); ui->outputBrowseButton->setEnabled(true); } else { ui->outputEdit->setEnabled(false); ui->outputBrowseButton->setEnabled(false); } } void MainWindow::on_inputBrowseButton_clicked() { QString documents = DesktopServices::storageLocation(QDesktopServices::DocumentsLocation); QString filename = QFileDialog::getOpenFileName( this,tr("Select input file"),documents,tr("Text files (*.txt);;All files (*)")); if (filename.size() == 0) return; else ui->inputEdit->setText(filename); } void MainWindow::on_outputBrowseButton_clicked() { QString documents = QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation); QString filename = QFileDialog::getOpenFileName( this,tr("Select output file"),tr("Text files (*.txt);;All files (*)")); if (filename.size() == 0) return; else ui->inputEdit->setText(filename); } 请原谅我的英语,并提前感谢你. 解决方法
你的代码看起来不错.
尝试运行“make clean”或“qmake”.您的“ui_”或“moc_”文件可能需要更新. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |