Russian Qt Forum
Март 29, 2024, 15:12
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
программа не запускается
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: программа не запускается (Прочитано 3294 раз)
Noize_programmer
Чайник
Offline
Сообщений: 91
работает не трогай
программа не запускается
«
:
Декабрь 28, 2022, 13:25 »
помогите пожалуйста
код:
.pro
:
Код:
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++17
# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
help_botton.cpp \
main.cpp \
what.cpp
HEADERS += \
HelpBrowser.h \
help_botton.h \
what.h
FORMS += \
what.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
RESOURCES += \
1.qrc
help_button.cpp
:
Код:
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++17
# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
help_botton.cpp \
main.cpp \
what.cpp
HEADERS += \
HelpBrowser.h \
help_botton.h \
what.h
FORMS += \
what.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
RESOURCES += \
1.qrc
help_button.h
:
Код:
#ifndef HELP_BOTTON_H
#define HELP_BOTTON_H
#include <QObject>
#include "HelpBrowser.h"
class help_botton : public QObject
{
Q_OBJECT
public:
explicit help_botton(QObject *parent = nullptr);
QPushButton* help;
private slots:
void help_clicked()
{
HelpBrowser helpBrowser("V:\\project for qt\\book lesons\\What\\ToolTip_what", "help.htm");
helpBrowser.resize(450, 300);
helpBrowser.show();
}
};
#endif // HELP_BOTTON_H
HelpBrowser.h
:
Код:
#ifndef _HelpBrowser_h_
#define _HelpBrowser_h_
#include "qpushbutton.h"
#include "qtextbrowser.h"
#include <QtGui>
#include <QVBoxLayout>
class HelpBrowser : public QWidget
{
Q_OBJECT
public:
HelpBrowser(const QString& strPath,const QString& strFileName,QWidget* pwgt = 0) : QWidget(pwgt)
{
QPushButton* pcmdBack = new QPushButton("<<");
QPushButton* pcmdHome = new QPushButton("Home");
QPushButton* pcmdForward = new QPushButton(">>");
QTextBrowser* ptxtBrowser = new QTextBrowser;
connect(pcmdBack, SIGNAL(clicked()),ptxtBrowser, SLOT(backward()));connect(pcmdHome, SIGNAL(clicked()),ptxtBrowser, SLOT(home()));
connect(pcmdForward, SIGNAL(clicked()),ptxtBrowser, SLOT(forward()));
connect(ptxtBrowser, SIGNAL(backwardAvailable(bool)),pcmdBack, SLOT(setEnabled(bool)));
connect(ptxtBrowser, SIGNAL(forwardAvailable(bool)),pcmdForward, SLOT(setEnabled(bool)));
ptxtBrowser->setSearchPaths(QStringList() << strPath);
ptxtBrowser->setSource(QString(strFileName));
//Layout setup
QVBoxLayout* pvbxLayout = new QVBoxLayout;
QHBoxLayout* phbxLayout = new QHBoxLayout;
phbxLayout->addWidget(pcmdBack);
phbxLayout->addWidget(pcmdHome);
phbxLayout->addWidget(pcmdForward);
pvbxLayout->addLayout(phbxLayout);
pvbxLayout->addWidget(ptxtBrowser);
setLayout(pvbxLayout);
}
};
#endif //_HelpBrowser_h_
main:
Код:
#include "help_botton.h"
#include "qobjectdefs.h"
#include "what.h"
#include <QApplication>
#include <QObject>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
what w;
help_botton h;
h.help->show();
w.show();
return a.exec();
}
what.cpp
:
Код:
#include "what.h"
#include "qobjectdefs.h"
#include "ui_what.h"
#include <QtGui>
what::what(QMainWindow *parent): QMainWindow(parent), ui(new Ui::what)
{
ui->setupUi(this);
this->setWindowFlags(Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint);
this->setWindowFlag(Qt::WindowMinMaxButtonsHint, false);
this->setWindowFlag(Qt::WindowCloseButtonHint, false);
setWindowTitle(" ");
}
what.pro
:
Код:
#ifndef WHAT_H
#define WHAT_H
#include <QMainWindow>
#include <QtGui>
#include <QObject>
QT_BEGIN_NAMESPACE
namespace Ui { class what; }
QT_END_NAMESPACE
class what : public QMainWindow
{
Q_OBJECT
public:
what(QMainWindow *parent = nullptr);
protected slots:
private:
Ui::what *ui;
};
#endif // WHAT_H
what.ui
:
Код:
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>what</class>
<widget class="QMainWindow" name="what">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>613</width>
<height>467</height>
</rect>
</property>
<property name="cursor">
<cursorShape>ForbiddenCursor</cursorShape>
</property>
<property name="windowTitle">
<string>what</string>
</property>
<property name="windowIcon">
<iconset resource="1.qrc">
<normaloff>:/1/icon.png</normaloff>:/1/icon.png</iconset>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QPushButton" name="cloes">
<property name="geometry">
<rect>
<x>-10</x>
<y>-10</y>
<width>641</width>
<height>481</height>
</rect>
</property>
<property name="toolTip">
<string><html><head/><body><p align="center"><span style=" font-size:48pt; color:#ffff00;">button</span></p></body></html></string>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>621</width>
<height>451</height>
</rect>
</property>
<property name="toolTip">
<string><html><head/><body><p align="center"><span style=" font-size:48pt; color:#ffff00;">Button</span></p></body></html></string>
</property>
<property name="text">
<string><html><head/><body><p><br/></p></body></html></string>
</property>
</widget>
</widget>
</widget>
<resources>
<include location="1.qrc"/>
</resources>
<connections>
<connection>
<sender>cloes</sender>
<signal>clicked()</signal>
<receiver>what</receiver>
<slot>close()</slot>
<hints>
<hint type="sourcelabel">
<x>190</x>
<y>461</y>
</hint>
<hint type="destinationlabel">
<x>493</x>
<y>466</y>
</hint>
</hints>
</connection>
</connections>
</ui>
ошибок нет но вывод приложения:
12:32:34: Starting V:/project for qt/book lesons/What/build-ToolTip_what-Desktop_Qt_6_3_1_MinGW_64_bit-Debug/debug/ToolTip_what.exe...
12:32:38: V:/project for qt/book lesons/What/build-ToolTip_what-Desktop_Qt_6_3_1_MinGW_64_bit-Debug/debug/ToolTip_what.exe crashed.
и оно не запускается подскажите из-за чего?
«
Последнее редактирование: Январь 20, 2023, 17:54 от Noize_programmer
»
Записан
Официальная стандартизация языка с++ началась в 1998 году, когда был опубликован стандарт языка ISO/IEC 14882:1998(известный как C++98), разработанный комитетом по стандартизации C++(ISO/IEC JTC1/SC22/WG21 working group)
kambala
Джедай : наставник для всех
Offline
Сообщений: 4724
Re: программа не запускается
«
Ответ #1 :
Декабрь 28, 2022, 19:29 »
запусти под отладчиком
help_button.cpp кода нет
а вообще лучше код выкладывать хотя бы архивом, или на гитхаб
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Noize_programmer
Чайник
Offline
Сообщений: 91
работает не трогай
Re: программа не запускается
«
Ответ #2 :
Декабрь 29, 2022, 11:13 »
Цитата: kambala от Декабрь 28, 2022, 19:29
запусти под отладчиком
help_button.cpp кода нет
а вообще лучше код выкладывать хотя бы архивом, или на гитхаб
спасибо большое, попробую.
Записан
Официальная стандартизация языка с++ началась в 1998 году, когда был опубликован стандарт языка ISO/IEC 14882:1998(известный как C++98), разработанный комитетом по стандартизации C++(ISO/IEC JTC1/SC22/WG21 working group)
Noize_programmer
Чайник
Offline
Сообщений: 91
работает не трогай
Re: программа не запускается
«
Ответ #3 :
Декабрь 29, 2022, 11:22 »
Цитата: kambala от Декабрь 28, 2022, 19:29
запусти под отладчиком
help_button.cpp кода нет
а вообще лучше код выкладывать хотя бы архивом, или на гитхаб
не получилось.
вывод приложения такой же:
11:20:01: Starting V:/project for qt/book lesons/What/build-ToolTip_what-Desktop_Qt_6_3_1_MinGW_64_bit-Debug/debug/ToolTip_what.exe...
11:20:48: V:/project for qt/book lesons/What/build-ToolTip_what-Desktop_Qt_6_3_1_MinGW_64_bit-Debug/debug/ToolTip_what.exe crashed.
«
Последнее редактирование: Декабрь 29, 2022, 11:33 от Noize_programmer
»
Записан
Официальная стандартизация языка с++ началась в 1998 году, когда был опубликован стандарт языка ISO/IEC 14882:1998(известный как C++98), разработанный комитетом по стандартизации C++(ISO/IEC JTC1/SC22/WG21 working group)
sergek
Гипер активный житель
Offline
Сообщений: 862
Мы должны приносить пользу людям.
Re: программа не запускается
«
Ответ #4 :
Декабрь 29, 2022, 14:13 »
Выложите полный архив проекта, если хотите, чтобы вам помогли.
А пока: удалите все Makefile.*, *.user и объектные файлы, повторите qmake и make.
Записан
Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
kambala
Джедай : наставник для всех
Offline
Сообщений: 4724
Re: программа не запускается
«
Ответ #5 :
Декабрь 29, 2022, 18:27 »
не получилось нажать на кнопку «запуск с отладкой»? или просто отладчик не установлен / не настроен? а то по картинке не похоже, что был выполнен запуск с отладчиком.
при отладке в момент падения приложения отладчик укажет точное (или хотя бы приблизительное) место падения.
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Noize_programmer
Чайник
Offline
Сообщений: 91
работает не трогай
Re: программа не запускается
«
Ответ #6 :
Декабрь 29, 2022, 18:45 »
Цитата: kambala от Декабрь 29, 2022, 18:27
не получилось нажать на кнопку «запуск с отладкой»? или просто отладчик не установлен / не настроен? а то по картинке не похоже, что был выполнен запуск с отладчиком.
при отладке в момент падения приложения отладчик укажет точное (или хотя бы приблизительное) место падения.
спасибо.
я просто не на ту кнопку нажал))))
===============================================================
что дальше делать не очень знаю.
(help это QPushButton)
вот: скрин отладки
«
Последнее редактирование: Декабрь 29, 2022, 18:56 от Noize_programmer
»
Записан
Официальная стандартизация языка с++ началась в 1998 году, когда был опубликован стандарт языка ISO/IEC 14882:1998(известный как C++98), разработанный комитетом по стандартизации C++(ISO/IEC JTC1/SC22/WG21 working group)
kambala
Джедай : наставник для всех
Offline
Сообщений: 4724
Re: программа не запускается
«
Ответ #7 :
Декабрь 29, 2022, 19:19 »
для этой кнопки не вызван конструктор, т.е. этого объекта не существует. чтобы исправить, напиши выше места падения
Код
C++ (Qt)
help
=
new
QPushButton
(
tr
(
"Help"
)
,
this
)
;
а те два вызова методов у кнопки вообще крайне сомнительные
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Noize_programmer
Чайник
Offline
Сообщений: 91
работает не трогай
Re: программа не запускается
«
Ответ #8 :
Декабрь 30, 2022, 13:41 »
Цитата: kambala от Декабрь 29, 2022, 19:19
для этой кнопки не вызван конструктор, т.е. этого объекта не существует. чтобы исправить, напиши выше места падения
Код
C++ (Qt)
help
=
new
QPushButton
(
tr
(
"Help"
)
,
this
)
;
а те два вызова методов у кнопки вообще крайне сомнительные
спасибо огромное за помощь
, программа запустилась, но появилась другая проблема не открывается окно помощи(вернее открывается но моментально закрывается)
(то что я написал help = new QPushButton(" "); вместо help = new QPushButton(tr("help"),this); из за этого не чего не будет(если написать help = new QPushButton(tr("help"),this); то будет ошибка(по крайней мере у меня)))
и есть ещё вопрос как через код задать иконку из qrc файла
«
Последнее редактирование: Декабрь 30, 2022, 13:50 от Noize_programmer
»
Записан
Официальная стандартизация языка с++ началась в 1998 году, когда был опубликован стандарт языка ISO/IEC 14882:1998(известный как C++98), разработанный комитетом по стандартизации C++(ISO/IEC JTC1/SC22/WG21 working group)
kambala
Джедай : наставник для всех
Offline
Сообщений: 4724
Re: программа не запускается
«
Ответ #9 :
Декабрь 30, 2022, 14:09 »
раз кнопка должна быть отдельным окном, тогда да, параметр this не нужен, а те два метода оправданы.
Цитировать
как через код задать иконку из qrc файла
если заглянуть в документацию, то ответ найдется на раз-два
у конструктора кнопки есть параметр icon, а также есть отдельный метод setIcon().
если же вопрос именно о чтении из ресурса, то
https://doc.qt.io/qt-5/resources.html#using-resources-in-the-application
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...