我已经为我的 Qt gui 应用程序创建了一个部署文件夹,我已经添加了它所需要的所有 DLL。该应用程序正在运行,但缺少 2 个功能。
void MainWindow::on_action_About_triggered()
{
QString filePatch = QApplication::applicationDirPath() + "/changelog.txt";
QFile f(filePatch);
if (!f.open(QFile::ReadOnly | QFile::Text))
return;
QTextStream in(&f);
QMessageBox::about(this, tr("About testapp"),
getAppVersion() + "\ntestapp\n\n" + in.readAll());
}
和
QPrinter printer;
printer.setFullPage(true);
printer.setPaperSize(QPrinter::A4);
printer.setOrientation(QPrinter::Landscape);
if (SpecialTypes::printType_t::ePrint == pType)
{
printer.setOutputFormat(QPrinter::NativeFormat);
QPrintDialog printDial(&printer, this);
if (printDial.exec() == QDialog::Accepted)
{
textEdit->document()->print(&printer);
}
}
这两个对话框都没有显示在具有部署文件夹的计算机上。当我在我正在构建应用程序的电脑上的 Qt creator 中运行它时,这些对话框可以正常工作。我想我需要包含一些额外的库,但我不知道哪些库,因为该应用程序不会抛出任何错误,它只是不显示对话框。