t
tettaApril 23, 2017, 11:50 a.m.

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

qt, class

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

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.

Do you like it? Share on social networks!

7
Arrow
  • April 23, 2017, 12:48 p.m.

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

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

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

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

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

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

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

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

MyClass *myClass = new MyClass();

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

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

    В файле mainwindow.h:

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

        t
        • April 23, 2017, 2:46 p.m.

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

          Evgenii Legotckoi
          • April 24, 2017, 2:14 a.m.
          • The answer was marked as a solution.

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

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

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

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

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

            Arrow
            • April 24, 2017, 4:14 a.m.

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

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

              Arrow
              • April 24, 2017, 4:16 a.m.

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

                Comments

                Only authorized users can post comments.
                Please, Log in or Sign up
                AD

                C ++ - Test 004. Pointers, Arrays and Loops

                • Result:50points,
                • Rating points-4
                m

                C ++ - Test 004. Pointers, Arrays and Loops

                • Result:80points,
                • Rating points4
                m

                C ++ - Test 004. Pointers, Arrays and Loops

                • Result:20points,
                • Rating points-10
                Last comments
                Evgenii Legotckoi
                Evgenii LegotckoiNov. 1, 2024, 12:37 a.m.
                Django - Lesson 064. How to write a Python Markdown extension Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
                A
                ALO1ZEOct. 19, 2024, 6:19 p.m.
                Fb3 file reader on Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                ИМ
                Игорь МаксимовOct. 5, 2024, 5:51 p.m.
                Django - Lesson 064. How to write a Python Markdown extension Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                d
                dblas5July 5, 2024, 9:02 p.m.
                QML - Lesson 016. SQLite database and the working with it in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                k
                kmssrFeb. 9, 2024, 5:43 a.m.
                Qt Linux - Lesson 001. Autorun Qt application under Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
                Now discuss on the forum
                Evgenii Legotckoi
                Evgenii LegotckoiJune 25, 2024, 1:11 a.m.
                добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
                t
                tonypeachey1Nov. 15, 2024, 5:04 p.m.
                google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
                NSProject
                NSProjectJune 4, 2022, 1:49 p.m.
                Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…
                9
                9AnonimOct. 25, 2024, 7:10 p.m.
                Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…

                Follow us in social networks