Я создал папку развертывания для своего приложения Qt gui, я добавил все .dll, за которые он закричал. Приложение работает, но есть 2 функции, которые отсутствуют.Отсутствует функциональность при развертывании приложения Qt
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 на компьютере, я создаю приложение, эти диалоги работают правильно. Мне нужно включить некоторые дополнительные библиотеки, но я понятия не имею, какие из них, так как приложение не вызывает никаких ошибок, оно просто не показывает диалоги. Я бы ободрил всю помощь.
Я решил проблему с диалогом печати - мне пришлось добавить папку с именем printsupport рядом с исполняемым файлом. В этой папке мне пришлось поместить файл windowsprintersupport.dll. Я даже не знаю, почему не работает диалог. – Bremen
Попробуйте развернуть приложение с помощью средства развертывания Windows, которое можно найти в 'QTDIR/bin/windeployqt.exe'. Он автоматически помещает все необходимые файлы в ваш каталог приложения. – Nejat
Эта программа не добавляет мне некоторые DLL-файлы, например libgcc_s_dw2-1.dll – Bremen