#c #qt #qt6
Вопрос:
У меня есть старый проект Qt начиная с Qt 4.2, предназначенный для ОС Windows, и я обновлял его каждый выпуск. На прошлой неделе я попытался обновить его до Qt 6.2, так как некоторые модули, необходимые моему проекту, были недоступны в предыдущих версиях Qt 6. Я обновил свой код, и он успешно компилируется, и приложение работает безупречно, за исключением того, что у меня есть QDocument, который печатается QPrinter в [Qt 5.15.2 Общие/статические сборки] или [Qt 6.2 Общие сборки] он работает, но в Qt 6.2 [статический] он выдает эту ошибку при запуске в качестве отладочного сообщения
QPrintDialog: Не может использоваться на неродных принтерах
когда я пытаюсь получить список доступных принтеров, используя этот код
qDebug()<<"List of printers";
QList<QPrinterInfo>
printerList=QPrinterInfo::availablePrinters();
foreach (QPrinterInfo printerInfo, printerList) {
qDebug()<<printerInfo.printerName();
}
Версия [Общие/статические сборки Qt 5.15.2] или [Общие сборки Qt 6.2] предоставляет мне список всех принтеров, но Qt 6.2[статические] вообще не содержит принтеров
когда я начинаю печать, я получаю эту ошибку.
QPainter::begin(): Возвращено значение false (:0)
Вот моя настройка статической сборки
set PATH=C:Program FilesLLVMbin;%PATH%
set LLVM_INSTALL_DIR=C:Program FilesLLVM
..configure.bat -static-runtime -release -qt-doubleconversion
-opensource -confirm-license -opengl desktop -nomake examples
-nomake tests -static -platform win32-msvc -c std c 17 -sql-sqlite
-sql-odbc -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype
-no-warnings-are-errors -schannel -strip -ltcg
-prefix C:Qt6.2.0msvc2019-x64-static-release
cmake --build . --parallel amp;amp; cmake --install .
Я подозреваю, что я что-то пропустил
Пожалуйста, помогите, я застрял.
Заранее спасибо.