2016-07-06 2 views
0

Я пытаюсь выяснить, как добавить пользовательский виджет в Qt Designer. Пока что я не увенчался успехом. Очень новичок в Qt. Я запускаю Qt 4.8.6. Я знаю, что есть более новая версия, но из-за ограничений проекта я должен придерживаться этого. По сути, мне нужно добавить коробку с шестнадцатеричным спином, то есть спинбокс, который считается шестнадцатеричным, а не десятичным. Я даже нашел code that implements it. Это объясняет how to integrate it into Qt Designer, однако это объясняется для версии 3. Может ли кто-нибудь предложить помощь?Как добавить пользовательский виджет в Qt 4.8.6

Любая помощь очень ценится

+0

Это все задокументировано, и есть примеры в документации, которая поставляется с Qt 4. –

ответ

1

Читайте о creating designer widgets и using them, но вкратце:

  • Подкласс QDesignerCustomWidgetInterface, чтобы создать свой собственный дизайнер плагин для пользовательского виджета
  • Построить и установить свой дизайнер плагин
  • Сообщите дизайнеру о вашем местоположении плагина или просто убедитесь, что он установлен на $QTDIR/plugins/designer

Также есть an example.

0

Here - это документация. Короче говоря, вы просто добавляете какой-либо виджет (например, QSpinBox, чтобы сделать его приятным в Дизайнере) в свою форму и преобразовать его в нужную.

0

Для добавления пользовательских виджетов в Qt Designer просто выполните следующие действия:

  1. В Qt дизайнера создать новый виджет File-> New-> Widget.
  2. Добавьте свой пользовательский интерфейс и т.д. для этого виджета и сохранить его -> -> MyWidget.ui
  3. Создать класс «MyWidgetHandler» обрабатывать этот виджет в MyWidgetHandler.h & CPP
  4. В вашей MainWindow/Dialog везде вы хотите отобразить этот виджет, добавить «Виджет» в разделе «Контейнеры» дизайнера.

    enter image description here

  5. Теперь щелкните правой кнопкой мыши на добавленном «Widget» контейнер и нажмите кнопку «Содействие в ...»

  6. Это должно открыть диалоговое окно. Вы можете выбрать базовый класс для наследования свойств в вашем случае QComboBox или просто выбрать класс QWidget.
  7. Далее введите полное имя класса i.e с пространствами имен, например: «blah :: MyWidgetHandler»
  8. В разделе «Заголовок» просто добавьте путь к заголовочному файлу для этого класса. Это должен быть разрешаемый путь. Например: «UI/MyWidgetHandler.h» или «C: /UI/MyWidgetHandler.h»
  9. Теперь нажмите кнопку «Содействие» и сохраните mainwindow.ui
  10. Редактор свойств теперь должен показать свой собственный тип класса, например: бла :: MyWidgetHandler. и свойства из выбранного базового класса.
  11. Не забудьте настроить пользовательский интерфейс в классе обработчика и включить заголовок в обработчике Mainwindow.

Cheers !!!

+0

Что делать, если мой пользовательский интерфейс точно такой же, как для QSpinBox? Как мне это сделать? – flashburn

+0

В этом случае: - пропустите шаг 1 и 2 - на шаге 3 myWidgetHandler должен быть получен из QSpinBox. - вы можете переопределить методы QSpinbox, как вы хотите в реализации. - помните, что в основном обработчике ui этот пользовательский класс можно вызвать по имени объекта, см. Прикрепленное изображение в пункте 10 в исходном ответе. – Zaid

Смежные вопросы