t
tetta25 апреля 2017 г. 0:45

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

qt

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

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

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

14
Evgenii Legotckoi
  • 25 апреля 2017 г. 0:53

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

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

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

    t
    • 25 апреля 2017 г. 1:01

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

      Arrow
      • 25 апреля 2017 г. 13:29

      Если интересует прикрепляемое окно типа что на фото, то это делается через наследование от 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
        • 25 апреля 2017 г. 13:30

        Фото забыл :)

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

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

            Arrow
            • 26 апреля 2017 г. 0:09

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

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

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

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

              Evgenii Legotckoi
              • 26 апреля 2017 г. 0:21

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

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

                t
                • 26 апреля 2017 г. 0:22

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

                  Arrow
                  • 26 апреля 2017 г. 0:26

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

                    Arrow
                    • 26 апреля 2017 г. 0:27

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

                      Evgenii Legotckoi
                      • 26 апреля 2017 г. 1:05

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

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

                        Arrow
                        • 26 апреля 2017 г. 2:34

                        :) ?

                          Evgenii Legotckoi
                          • 26 апреля 2017 г. 8:56

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

                            Arrow
                            • 26 апреля 2017 г. 20:10

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

                              Комментарии

                              Только авторизованные пользователи могут публиковать комментарии.
                              Пожалуйста, авторизуйтесь или зарегистрируйтесь
                              Ua

                              Qt - Тест 001. Сигналы и слоты

                              • Результат:84баллов,
                              • Очки рейтинга4
                              Ua

                              Qt - Тест 001. Сигналы и слоты

                              • Результат:42баллов,
                              • Очки рейтинга-8
                              ОК

                              Qt - Тест 001. Сигналы и слоты

                              • Результат:47баллов,
                              • Очки рейтинга-6
                              Последние комментарии
                              ИМ
                              Игорь Максимов22 ноября 2024 г. 21:51
                              Django - Урок 017. Кастомизированная страница авторизации на Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                              Evgenii Legotckoi
                              Evgenii Legotckoi31 октября 2024 г. 23:37
                              Django - Урок 064. Как написать расширение для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
                              A
                              ALO1ZE19 октября 2024 г. 17:19
                              Читалка fb3-файлов на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                              ИМ
                              Игорь Максимов5 октября 2024 г. 16:51
                              Django - Урок 064. Как написать расширение для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                              d
                              dblas55 июля 2024 г. 20:02
                              QML - Урок 016. База данных SQLite и работа с ней в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                              Сейчас обсуждают на форуме
                              f
                              firstlunoxod15 февраля 2025 г. 13:46
                              Рисование на QGraphicsScene при зажатой кнопке мыши Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
                              Дмитрий
                              Дмитрий3 февраля 2025 г. 16:24
                              Создание deb-пакета. Как создать ярлык на рабочем столе после установки собственного deb-пакета? Всем привет. Сделал свой deb-пакет с программой. Всё устанавливается и работает. Ставлю по пути /usr/bin/my_application. Как для пользователя при установке пакета сразу создать ярлык на раб…
                              NW
                              Nayo Wai30 января 2025 г. 19:22
                              не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
                              n
                              nkly3 января 2025 г. 12:52
                              Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
                              M
                              Marsel17 августа 2023 г. 0:26
                              OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.

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