t
April 25, 2017, 12:45 a.m.

Дополнительное окошко

qt

Я вот сделал программу и хочу, что бы в ней было окошко, маленькое, которое я мог бы перетаскивать. Как сделать?(Прости, что так много спрашиваю, просто здесь дают очень быстро и корректный ответ)

3

Do you like it? Share on social networks!

14
Evgenii Legotckoi
  • April 25, 2017, 12:53 a.m.

Да ничего. Надеюсь, что как наберёшься опыта, то тоже будешь на этом сайте помогать новичкам.

Уточни такой момент - это окошко должно быть внутри основного окна программы? То есть как в том же фотошопе несколько окон в рабочей области?

P/S/ Я сталкивался с таким, но нужно поднять старые исходники пары программ. Завтра вечером отпишусь.

    t
    • April 25, 2017, 1:01 a.m.

    Да, именно как в фотошопе

      Arrow
      • April 25, 2017, 1:29 p.m.

      Если интересует прикрепляемое окно типа что на фото, то это делается через наследование от QDockWidget.

      Заголовочный файл класса:

      #ifndef INFODOC_H
      #define INFODOC_H
      
      #include <QObject>
      #include <QDockWidget>
      #include <QTableWidget>
      
      class InfoDoc : public QDockWidget
      {
          Q_OBJECT
      
      public:
          InfoDoc(QWidget *parent = 0);
          ~InfoDoc();
      
      private:
      
      };
      
      #endif // INFODOC_H

      Реализация:

      #include "infodoc.h"
      
      InfoDoc::InfoDoc(QWidget *parent) :
          QDockWidget(parent)
      {
          // Настройка таблицы
          m_table = new QTableWidget(this);
          setWidget(m_table);
          setWindowTitle(tr("Свойства документа"));
          m_table->setColumnCount(2);
          m_table->setHorizontalHeaderLabels(QStringList() << "Ключ" << "Значение");
          m_table->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
      }
      
      InfoDoc::~InfoDoc()
      {
      
      }

      В классе главного окна:

      #include "infodoc.h"
      
      //--------------------------
      
      infDoc = new InfoDoc(this);
      addDockWidget(Qt::LeftDockWidgetArea, infDoc);
        Arrow
        • April 25, 2017, 1:30 p.m.

        Фото забыл :)

          Evgenii Legotckoi
          • April 25, 2017, 10:24 p.m.
          • The answer was marked as a solution.

          Я тут накидал статейку , думаю, что это то, что вам нужно.

            Arrow
            • April 26, 2017, 12:09 a.m.

            Прочитал статью и понял, что я не правильно трактовал вопрос.

            За статью спасибо :)

            P.S. Читал статью от Microsoft, где не рекомендуется использовать MDI интерфейс предпочтительнее заменять его на вкладки. Это якобы более дружелюбно и понятно пользователю (саму статью сейчас не найду для подтверждения).

            Хотя глядя на некоторые приложения от Microsoft, становится ясно, что где-то подвох. :)

              Evgenii Legotckoi
              • April 26, 2017, 12:21 a.m.

              Я бы придушил того разработчика, который вздумал бы делать табы в торговом терминале для биржевой торговли.

              Всё-таки в первую очередь специфика софта должна определять интерфейс.

                t
                • April 26, 2017, 12:22 a.m.

                Я не знаю как вас благодарить. Такое чувство, как будто вы прочитали мои мысли!

                  Arrow
                  • April 26, 2017, 12:26 a.m.

                  Я думаю вам этом многие помогли бы :)

                    Arrow
                    • April 26, 2017, 12:27 a.m.

                    Я о софте - Торговый терминал для биржевой торговли.

                      Evgenii Legotckoi
                      • April 26, 2017, 1:05 a.m.

                      Репосты "спасут отца русской демократии".

                      Ну ещё можете ссылки на сайт постить при случае на других ресурсах.

                        Arrow
                        • April 26, 2017, 2:34 a.m.

                        :) ?

                          Evgenii Legotckoi
                          • April 26, 2017, 8:56 a.m.

                          Серьёзно что ли? Торговый терминал - это большой проект сам по себе, тем более, что нужно учитывать требования по быстродействию. А вообще, энтузиасты на таком проекте быстро сдуются. Да и смысла нет, лучше найти работу с таким проектом у какого-нибудь брокера. Там и деньги хорошие платить будут.

                            Arrow
                            • April 26, 2017, 8:10 p.m.

                            Если кто-то собрался такое разрабатывать, то думаю лучше идти к тем, кто за это хорошо заплатит. Самому писать в одиночку в надежде продать не вариант. :)

                              Comments

                              Only authorized users can post comments.
                              Please, Log in or Sign up
                              • Last comments
                              • AK
                                April 1, 2025, 11:41 a.m.
                                Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
                              • Evgenii Legotckoi
                                March 9, 2025, 9:02 p.m.
                                К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
                              • VP
                                March 9, 2025, 4:14 p.m.
                                Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
                              • ИМ
                                Nov. 22, 2024, 9:51 p.m.
                                Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                              • Evgenii Legotckoi
                                Oct. 31, 2024, 11:37 p.m.
                                Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup