Пытаюсь запустить пример создания блокнота из туториалов Qt (https://doc.qt.io/qt-5/qtwidgets-tutorials-notepad-example.html) без QtCreator.
В конструкторе
Notepad::Notepad(QWidget* parent) :
QMainWindow(parent),
ui(new Ui::Notepad) {
ui->setupUi(this);
this->setCentralWidget(ui->textEdit);
connect(ui->actionNew, &QAction::triggered, this, &Notepad::newDocument);
connect(ui->actionOpen, &QAction::triggered, this, &Notepad::open);
connect(ui->actionSave, &QAction::triggered, this, &Notepad::save);
connect(ui->actionSave_as, &QAction::triggered, this, &Notepad::saveAs);
connect(ui->actionPrint, &QAction::triggered, this, &Notepad::print);
connect(ui->actionExit, &QAction::triggered, this, &Notepad::exit);
connect(ui->actionCopy, &QAction::triggered, this, &Notepad::copy);
connect(ui->actionCut, &QAction::triggered, this, &Notepad::cut);
connect(ui->actionPaste, &QAction::triggered, this, &Notepad::paste);
connect(ui->actionUndo, &QAction::triggered, this, &Notepad::undo);
connect(ui->actionRedo, &QAction::triggered, this, &Notepad::redo);
connect(ui->actionFont, &QAction::triggered, this, &Notepad::selectFont);
connect(ui->actionBold, &QAction::triggered, this, &Notepad::setFontBold);
connect(ui->actionUnderline, &QAction::triggered, this, &Notepad::setFontUnderline);
connect(ui->actionItalic, &QAction::triggered, this, &Notepad::setFontItalic);
connect(ui->actionAbout, &QAction::triggered, this, &Notepad::about);
// Disable menu actions for unavailable features
#if !QT_CONFIG(printer)
ui->actionPrint->setEnabled(false);
#endif
#if !QT_CONFIG(clipboard)
ui->actionCut->setEnabled(false);
ui->actionCopy->setEnabled(false);
ui->actionPaste->setEnabled(false);
#endif
}
в макросе
// Disable menu actions for unavailable features
#if !QT_CONFIG(printer)
ui->actionPrint->setEnabled(false);
#endif
получаю
error: division by zero in #if !QT_CONFIG(printer)
Судя по всему, это связано с тем, что следующая цепочка включений не срабатывает
#if defined(QT_PRINTSUPPORT_LIB)
#include <QtPrintSupport/qtprintsupportglobal.h>
#if QT_CONFIG(printer)
#if QT_CONFIG(printdialog)
#include <QPrintDialog>
#endif // QT_CONFIG(printdialog)
#include <QPrinter>
#endif // QT_CONFIG(printer)
#endif // QT_PRINTSUPPORT_LIB
Как можно исправить пример, чтобы работало без установки библиотеки для печати (QT_PRINTSUPPORT_LIB)?
В файле notepad.pro нужно закоментировать строчку где добавляется модуль QPrintSupport
, вот так:
# qtHaveModule(printsupport): QT += printsupport
После этого макрос #if defined (QT_PRINTSUPPORT_LIB)
перестанет выполнятся и все что связано с печатью отключится. Это если вы ничего в примере не меняли конечно.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Вроде все работает, но по условию препода символы и верхнего регистра должны быть приняты как одинаковы, то есть "А"=="а"Как можно это реализовать?
Для выполнение определённой задачи пришлось прибегнуть к созданию дополнительного потокаНовый поток я создаю в оконном приложении
Создал проект Desctop-калькулятор, написал код, ошибок при компиляции не выдает, из qtcreator запускается, работает нормальноКогда запускаю файл...
Задача состоит в том, что бы программа принимала строку, и по отдельности выводила в разные строки её буквы(абвгд и тд), цифры(1234) и спец символы(*,/,+,-...