Qt программа неожиданно завершилась процесс был завершен принудительно

Я создаю небольшое приложение с QtCreator. Он компилируется, но при выполнении из QtCreator я получаю ошибку “Ошибка программы”.

Если я попытаюсь выполнить двоичный код с консоли, я получаю ошибку Segementation (core dumped).

Поскольку это первый раз, когда я запускаю Qt-код самостоятельно, я думаю, что у меня что-то не хватает. Пожалуйста, проверьте следующий код:

#ifndef MAINWINDOW_H #define MAINWINDOW_H #include class MainWindow; class QLabel; class QLineEdit; class QPushButton; class MainWindow : public QMainWindow < Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private: void createGUI(); private: QLineEdit *mysqlUserLineEdit; QLineEdit *mysqlPasswordLineEdit; QLineEdit *albatrossIPLineEdit; QLineEdit *albatrossPortLineEdit; QPushButton *exitButton; QPushButton *startButton; >; #endif // MAINWINDOW_H
#include #include «mainwindow.h» #include «ui_mainwindow.h» MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) < createGUI(); //connect(. ) //connect(. ) setWindowTitle(tr(«Albatross MySQL simulator»)); >MainWindow::~MainWindow() < >void MainWindow::createGUI() < QVBoxLayout *mainLayout = new QVBoxLayout; QHBoxLayout *settingsLayout = new QHBoxLayout; QVBoxLayout *mysqlSettingsLayout = new QVBoxLayout; QHBoxLayout *mysqlUserLayout = new QHBoxLayout; mysqlUserLineEdit = new QLineEdit(); QLabel *mysqlUserLabel = new QLabel(tr(«)); mysqlUserLabel->setBuddy(mysqlUserLineEdit); mysqlUserLayout->addWidget(mysqlUserLabel); mysqlUserLayout->addWidget(mysqlUserLineEdit); QHBoxLayout *mysqlPasswordLayout = new QHBoxLayout; mysqlPasswordLineEdit = new QLineEdit(); QLabel *mysqlPasswordLabel = new QLabel(tr(«)); mysqlPasswordLabel->setBuddy(mysqlPasswordLineEdit); mysqlPasswordLayout->addWidget(mysqlPasswordLabel); mysqlPasswordLayout->addWidget(mysqlPasswordLineEdit); mysqlSettingsLayout->addLayout(mysqlUserLayout); mysqlSettingsLayout->addLayout(mysqlPasswordLayout); QVBoxLayout *networkSettingsLayout = new QVBoxLayout; QHBoxLayout *albatrossIPLayout = new QHBoxLayout; albatrossIPLineEdit = new QLineEdit(); QLabel *albatrossIPLabel = new QLabel(tr(«)); albatrossIPLabel->setBuddy(albatrossIPLineEdit); albatrossIPLayout->addWidget(albatrossIPLabel); albatrossIPLayout->addWidget(albatrossIPLineEdit); QHBoxLayout *albatrossPortLayout = new QHBoxLayout; albatrossPortLineEdit = new QLineEdit(); QLabel *albatrossPortLabel = new QLabel(tr(«P)); albatrossPortLabel->setBuddy(albatrossPortLineEdit); albatrossPortLayout->addWidget(albatrossPortLabel); albatrossPortLayout->addWidget(albatrossPortLineEdit); networkSettingsLayout->addLayout(albatrossIPLayout); networkSettingsLayout->addLayout(albatrossPortLayout); settingsLayout->addLayout(mysqlSettingsLayout); settingsLayout->addLayout(networkSettingsLayout); QHBoxLayout *buttonsLayout = new QHBoxLayout; exitButton = new QPushButton(tr(«)); buttonsLayout->addWidget(exitButton); startButton = new QPushButton(tr(«)); startButton->setDefault(true); buttonsLayout->addWidget(startButton); mainLayout->addLayout(settingsLayout); mainLayout->addLayout(buttonsLayout); centralWidget()->setLayout(mainLayout); >

И, наконец, main.cpp, который автоматически генерировался с помощью QtCreator:

Qt Crash Course for Beginners — Create C++ GUI Apps

Читайте также:
Microsoft sql для чего программа

Запуск Qt приложений .exe вне Qt Creator


#include #include «mainwindow.h» int main(int argc, char *argv[])

EDIT: Хорошо, проблема в том, что при использовании mainLayout для присоединения к mainWindow и последней строке mainwindow.cpp. То, что он бросает ошибку сегментации. Что я должен установить в качестве центрального виджета? Или есть ли другой способ привязки макета к виджету mainwindow?

Лучший ответ:

В общем, это поведение в создателе связано с SEGFAULT или отсутствующей библиотекой.

mysqlPasswordLabel->setBuddy(mysqlPasswordLineEdit); mysqlPasswordLayout->addWidget(mysqlPasswordLabel); mysqlPasswordLayout->addWidget(mysqlPasswordLineEdit);

является причиной. Вы не инициализируете mysqlPasswordLineEdit который вызывает SEGFAULT

Источник: techarks.ru

Ошибка Qt: программа неожиданно завершила работу. Процесс был принудительно завершен

Я начал новый проект с Qt5 и попробовал Qt Quick Project (QML) в Windows 10 (64 бит). Потому что я хочу использовать различные анимации и эффекты. Но я ударился о кирпичную стену, что я не могу запускать и отлаживать проекты QML. Во-первых, я хочу использовать смахивание, поэтому я пробую пример смахивания, но проект выдает ошибку.

Ошибка запуска — это первое изображение, а ошибка отладки — это второе изображение.

Ошибка Qt: программа неожиданно завершила работу. Процесс был принудительно завершен

Ошибка Qt: программа неожиданно завершила работу. Процесс был принудительно завершен

p.s — Я пробовал кое-что, чтобы исправить ошибки, которые связаны с обновлением драйвера NVIDIA, попыткой выпуска режима и созданием нового Qt Quick Application Project — Swipe. Но все бесполезно. Помоги мне, пожалуйста.

Комментарии (3)

Решение сбоев Qt всегда одно и то же: загрузите исходные коды Qt, соберите Qt в режиме отладки, соберите свой проект (или пример проекта) с помощью только что построенного Qt и запустите его под отладчиком. Отладчик укажет, где именно внутри Qt произошел сбой кода, и позволит нам выяснить, как исправить или обойти проблему. Прежде чем вы это сделаете, на этот вопрос практически нет ответа.

Читайте также:
Goodbyedpi как пользоваться программой

Kuba hasn’t forgotten Monica

О, спасибо большое, Куба Обер! Я сначала попробую.

Источник: reddeveloper.ru

Элементарная программа неожиданно завершилась

Возникла необходимость изучить Qt. Скачал с официального сайта онлайн инсталлятор и выполнил установку Qt Creator 4.1.0. В системе стоит VS2015 (в которой установлен модуль для С++ и он рабочий). Запустил Qt Creator, создал Desktop приложение. Удалил файлы mainWindow.

Оставил только файл main.cpp.

#include #include int main(int argc, char **argv)

После сборки и запуска пишет ошибку:

Программа неожиданно завершилась.

Главное окно проекта

введите сюда описание изображения

Выбранная сборка:

введите сюда описание изображения

Настройки запуска сборки:

Компилятор используется MSVC2015_64bit

QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = prj1 TEMPLATE = app SOURCES += main.cpp HEADERS +=

Ответы (2 шт):

  • Создовая шаблонное консольное приложение, не нужно создовать приложение с окнами.
  • Для успешной сборки и дальнейшей работы нужно перейти на каталог выше и удалить кактлоги release/debug.

QLabel следует попробовать поместить в QWidget и выполнить widget->show()

Источник: husl.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru