Название: Наследование ui Отправлено: grig_p от Май 17, 2021, 09:57 Здравствуйте, уважаемые коллеги!
Недавно начал использовать Qt, до этого довольно долго работал на Delphi и Object Pascal. Появился такой вопрос. Есть подкласс от QWidget, который содержит заголовок .h, код .cpp и форму .ui: Код: class MySuperClass : public QWidget Есть также подкласс, который также содержит заголовок .h, код .cpp и форму .ui: Код: class MySubClass : public MySuperClass Как правильно это реализовать с помощью Qt? В Delphi на форме наследнике имеются те же элементы, что и на форме - предке, которые можно изменять, вставлять что-то новое и т.д. В Qt. форма подкласса пустая. Я могу расположить на ней виджеты, но они появляются в непонятных местах. Как их добавить так, чтобы они появлялись в нужных местах формы суперкласса? Название: Re: Наследование ui Отправлено: tux от Май 18, 2021, 15:00 Вы хотите смешать два интерфейса? Зачем?
Если вы хотите сделать просто класс-интерфейс и из наследуемого класса иметь доступ к UI-виджетам, то проще в вашем суперклассе сделать сеттеры/геттеры и вызывать именно их. Название: Re: Наследование ui Отправлено: Racheengel от Май 25, 2021, 13:52 Здесь есть только 2 решения.
1. Делать весь гуй кодом, без дизайнера. Соответственно переопределить нужные методы в наследнике. 2. Сделать базовую форму в дизайнере, но оставить в ней виджеты-плейсхолдеры, на которые наследники смогут паковать свой контент. Как - см. пункт 1. Название: Re: Наследование ui Отправлено: grig_p от Май 26, 2021, 13:32 Спасибо большое. Я так примерно и представлял, но думал, что есть какое-то специфичное решение, о котором я не знал.
|