t
tetta23. April 2017 11:50

Как подключить класс

qt, class

Я вот создал проект и все как обычно: main.cpp, mainwindow.cpp и .h . И я делаю menubar, я хочу что бы оно было в другом месте, не в main.cpp, mainwindow.cpp и .h , а в созданном месте под название menu.cpp, как это сделал и еще как подключить, что-бы все, что было написано в menu.cpp, main.cpp, mainwindow.cpp и .h скомпелировалось и показалось?

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.

Magst du es? In sozialen Netzwerken teilen!

7
Arrow
  • 23. April 2017 12:48

Создание нового класса:

1. В главном меню - Файл / Создать файл или проект;

2. В открывшемся окне - Файлы и классы / С++;

3. Ввести имя класса;

4. Выбрать или ввести имя базового класса ( от которого хотите наследоваться ) и подключить в заголовочном файле созданного класса соответствующий заголовочный файл ( класса предка ).

Подключение:

Имя класса: MyClass;

Подключение:

MyClass *myClass = new MyClass();

// Далее использовать методы класса:

myClass->myMethod(param);
    Arrow
    • 23. April 2017 12:50

    В файле mainwindow.h:

    #include "myclass.h"
      t
      • 23. April 2017 14:45
      Посмотрите, как решить?

        t
        • 23. April 2017 14:46

        https://yadi.sk/d/dYN-Agku3HGcxz

          Evgenii Legotckoi
          • 24. April 2017 02:14
          • Die Antwort wurde als Lösung markiert.

          Во-первых, сам класс menu , нужно наследовать как минимум от QObject , а не просто помещать макрос Q_OBJECT в объявление класса menu .

          Во вторых, где в классе mainwindow подключение заголовочного класса menu ?

          В-третьих, метод menuBar() в классе menu вообще не существует - это метод класса QMainWindow , поэтому и работать не будет.

          В-четвёртых, лучше использовать новый синтаксис сигналов и слотов .

          Наверняка там ещё много косяков, но пока хотя бы это исправьте.

            Arrow
            • 24. April 2017 04:14

            Если я правильно понял. то вы не хотите реализовать свой класс наследник с функционалом отличным от QMenuBar, а просто вынести описание главного меню в отдельный класс (файл).

            В этом случае можно наследоваться от QMenuBar, а в классе главного окна писать setMenuBar(myClass);

              Arrow
              • 24. April 2017 04:16

              Хотя чем в таком случае визуальный редактор не угодил?

                Kommentare

                Nur autorisierte Benutzer können Kommentare posten.
                Bitte Anmelden oder Registrieren
                Letzte Kommentare
                A
                ALO1ZE19. Oktober 2024 08:19
                Fb3-Dateileser auf Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                ИМ
                Игорь Максимов5. Oktober 2024 07:51
                Django – Lektion 064. So schreiben Sie eine Python-Markdown-Erweiterung Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                d
                dblas55. Juli 2024 11:02
                QML - Lektion 016. SQLite-Datenbank und das Arbeiten damit in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                k
                kmssr8. Februar 2024 18:43
                Qt Linux - Lektion 001. Autorun Qt-Anwendung unter Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
                Qt WinAPI - Lektion 007. Arbeiten mit ICMP-Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
                Jetzt im Forum diskutieren
                J
                JacobFib17. Oktober 2024 03:27
                добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
                JW
                Jhon Wick1. Oktober 2024 15:52
                Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
                КГ
                Кирилл Гусарев27. September 2024 09:09
                Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
                F
                Fynjy22. Juli 2024 04:15
                при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

                Folgen Sie uns in sozialen Netzwerken