t
tetta25 апреля 2017 г. 15:14

Добавление проекта

qt

Я знаю (Простите), что я уже задавал этот вопрос, но я его сейчас попытаюсь по другому сформулировать. Вот создал проект и в mainwindow.h\cpp выполняется что-то одно(там вывод определенных кнопок), а я хочу сделать еще одни такие же файлы которые делали что-то другое и в том же проекте. Возможно вне вопрос уже дали, но просто мне бы еще раз разьеснить, потому что я не понимаю ошибка у меня(просто ничего не происходит, не линкуется) или я делаю что то не так.

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

3
t
  • 25 апреля 2017 г. 15:16

(Не убивайте за ошибки, не заметил прост.(буду стараться замечать)) И что бы это все происходило в одной программе

    t
    • 25 апреля 2017 г. 15:35

    О и еще вспомнил. Мне б еще хотелось узнать, как с одного созданного файла обращаться к другому?

      Evgenii Legotckoi
      • 26 апреля 2017 г. 2:27
      • Ответ был помечен как решение.

      Ваша проблема в том, что Вы оперируете понятием файл, вместо класса. Файл может содержать несколько классов. В Qt/C++ применяется ООП (объектно-ориентированное программирование), а не процедурное, как в Си. Хотя C++ и поддерживает процедурный стиль программирования, но не стоит его сюда примешивать.

      Когда создаёте некий класс, то он обычно имеет заголовочный файл с расширением *.h и файл реализации с расширением *.cpp . Например:

      Заголовочный файл

      #ifndef MYCLASS_H
      #define MYCLASS_H
      
      
      class MyClass
      {
      public:
          MyClass();
      };
      
      #endif // MYCLASS_H

      Файл реализации.

      #include "myclass.h"
      
      MyClass::MyClass()
      {
      
      }
      

      Обратите внимание на директивы define в заголовочном файле. Они обеспечивают исключение множественного подключения заголовочного файла и убирают проблемы с линковкой.

      #ifndef MYCLASS_H
      #define MYCLASS_H
      
      #endif // MYCLASS_H

      Чтобы воспользоваться возможностями данного класса, необходимо подключить его заголовочный файл в том файле, где хотите его использовать.

      #include "myclass.h"

      Вам нужно настроить мышление не на применение функций в разных файлов - это процедурный стиль, а на работу с объектами классов.

        Комментарии

        Только авторизованные пользователи могут публиковать комментарии.
        Пожалуйста, авторизуйтесь или зарегистрируйтесь
        d
        • dsfs
        • 26 апреля 2024 г. 1:56

        C++ - Тест 004. Указатели, Массивы и Циклы

        • Результат:80баллов,
        • Очки рейтинга4
        d
        • dsfs
        • 26 апреля 2024 г. 1:45

        C++ - Тест 002. Константы

        • Результат:50баллов,
        • Очки рейтинга-4
        d
        • dsfs
        • 26 апреля 2024 г. 1:35

        C++ - Тест 001. Первая программа и типы данных

        • Результат:73баллов,
        • Очки рейтинга1
        Последние комментарии
        k
        kmssr8 февраля 2024 г. 15:43
        Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
        АК
        Анатолий Кононенко4 февраля 2024 г. 22:50
        Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
        EVA
        EVA25 декабря 2023 г. 7:30
        Boost - статическая линковка в CMake проекте под Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
        J
        JonnyJo25 декабря 2023 г. 5:38
        Boost - статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
        G
        Gvozdik18 декабря 2023 г. 18:01
        Qt/C++ - Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
        Сейчас обсуждают на форуме
        IscanderChe
        IscanderChe30 апреля 2024 г. 1:22
        Во Flask рендер шаблона не передаётся в браузер Доброе утро! Имеется вот такой шаблон: <!doctype html><html> <head> <title>{{ title }}</title> <link rel="stylesheet" href="{{ url_…
        G
        Gar22 апреля 2024 г. 2:46
        Clipboard Как скопировать окно целиком в clipb?
        DA
        Dr Gangil Academics20 апреля 2024 г. 4:45
        Unlock Your Aesthetic Potential: Explore MSC in Facial Aesthetics and Cosmetology in India Embark on a transformative journey with an msc in facial aesthetics and cosmetology in india . Delve into the intricate world of beauty and rejuvenation, guided by expert faculty and …
        a
        a_vlasov14 апреля 2024 г. 3:41
        Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Евгений, добрый день! Такой вопрос. Верно ли следующее утверждение: Любое Android-приложение, написанное на Java/Kotlin чисто теоретически (пусть и с большими трудностями) можно написать и на C+…
        Павел Дорофеев
        Павел Дорофеев13 апреля 2024 г. 23:35
        QTableWidget с 2 заголовками Вот тут есть кастомный QTableView с многорядностью проект поддерживается, обращайтесь

        Следите за нами в социальных сетях