| 
 Название: программа не запускается
 Отправлено: Noize_programmer от Декабря 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. и оно не запускается подскажите из-за чего?
 Название: Re: программа не запускается
 Отправлено: kambala от Декабря 28, 2022,  19:29
 
 запусти под отладчиком
 help_button.cpp кода нет
 
 а вообще лучше код выкладывать хотя бы архивом, или на гитхаб
 
 Название: Re: программа не запускается
 Отправлено: Noize_programmer от Декабря 29, 2022,  11:13
 
 запусти под отладчиком
 help_button.cpp кода нет
 
 а вообще лучше код выкладывать хотя бы архивом, или на гитхаб
 
 спасибо большое, попробую.
 Название: Re: программа не запускается
 Отправлено: Noize_programmer от Декабря 29, 2022,  11:22
 
 запусти под отладчиком
 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.
 Название: Re: программа не запускается
 Отправлено: sergek от Декабря 29, 2022,  14:13
 
 Выложите полный архив проекта, если хотите, чтобы вам помогли.А пока: удалите все Makefile.*, *.user и объектные файлы, повторите qmake и make.
 
 Название: Re: программа не запускается
 Отправлено: kambala от Декабря 29, 2022,  18:27
 
 не получилось нажать на кнопку «запуск с отладкой»? или просто отладчик не установлен / не настроен? а то по картинке не похоже, что был выполнен запуск с отладчиком.
 при отладке в момент падения приложения отладчик укажет точное (или хотя бы приблизительное) место падения.
 
 Название: Re: программа не запускается
 Отправлено: Noize_programmer от Декабря 29, 2022,  18:45
 
 не получилось нажать на кнопку «запуск с отладкой»? или просто отладчик не установлен / не настроен? а то по картинке не похоже, что был выполнен запуск с отладчиком.
 при отладке в момент падения приложения отладчик укажет точное (или хотя бы приблизительное) место падения.
 
 спасибо. я просто не на ту кнопку нажал)))) =============================================================== что дальше делать не очень знаю. (help это QPushButton) вот: скрин отладки
 Название: Re: программа не запускается
 Отправлено: kambala от Декабря 29, 2022,  19:19
 
 для этой кнопки не вызван конструктор, т.е. этого объекта не существует. чтобы исправить, напиши выше места падения C++ (Qt)help = new QPushButton(tr("Help"), this);
 а те два вызова методов у кнопки вообще крайне сомнительные :)
 Название: Re: программа не запускается
 Отправлено: Noize_programmer от Декабря 30, 2022,  13:41
 
 для этой кнопки не вызван конструктор, т.е. этого объекта не существует. чтобы исправить, напиши выше места падения C++ (Qt)help = new QPushButton(tr("Help"), this);
 а те два вызова методов у кнопки вообще крайне сомнительные :)спасибо огромное за помощь, программа запустилась, но появилась другая проблема не открывается окно помощи(вернее открывается но моментально закрывается)  :( :( :( :( (то что я написал help = new QPushButton(" "); вместо help = new QPushButton(tr("help"),this); из за этого не чего не будет(если написать help = new QPushButton(tr("help"),this); то будет ошибка(по крайней мере у меня))) и есть ещё вопрос как через код задать иконку из qrc файла
 Название: Re: программа не запускается
 Отправлено: kambala от Декабря 30, 2022,  14:09
 
 раз кнопка должна быть отдельным окном, тогда да, параметр this не нужен, а те два метода оправданы. как через код задать иконку из qrc файла если заглянуть в документацию, то ответ найдется на раз-два :) у конструктора кнопки есть параметр icon, а также есть отдельный метод setIcon(). если же вопрос именно о чтении из ресурса, то https://doc.qt.io/qt-5/resources.html#using-resources-in-the-application
 
 |