QTabWidget мозг спёкся, Не знаю как решить проблему... |
Здравствуйте, гость ( Вход | Регистрация )
QTabWidget мозг спёкся, Не знаю как решить проблему... |
fortero |
25.4.2011, 1:31
Сообщение
#1
|
Участник Группа: Участник Сообщений: 132 Регистрация: 4.12.2010 Пользователь №: 2242 Спасибо сказали: 0 раз(а) Репутация: 0 |
Есть класс назовём его OptionsD, у него вот такая публичная функция:
Есть у Qt фича QTabWidget, как мне эту функцию превратить в виджет один, или если есть альтернатива, в общем надо как то передать вот сюда:
Уже не сил бороться, что делать? Спасибо за внимание! |
|
|
silver47 |
25.4.2011, 5:05
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
Создать свой класс, наследованный от QWidget, нарисовать в нем все то, что нужно. Затем в основном классе создать его как объект. Попробую на примере объяснить:
Класс OptionsWindow - заимствованный от QWidget:
Заголовочный файл главного окна приложения:
А вот теперь уже, Ваша мечта сбылась и Вы запросто можете добавить на mainTab виджет optionsTab ПыСы: Покажу еще как делать не стоит, но можно 1 создаем какой-либо Layout размещаем на нем все эти же компоненты, 2 запихиваем этот Layout в QGroupBox::setLayout(optionsLayout); 3 QGroupBox является виджетом, содержащим все Ваши компоненты. |
|
|
fortero |
25.4.2011, 15:56
Сообщение
#3
|
Участник Группа: Участник Сообщений: 132 Регистрация: 4.12.2010 Пользователь №: 2242 Спасибо сказали: 0 раз(а) Репутация: 0 |
В том-то и проблема что класс OptionsD должен быть унаследованным от QDialog так как - это окно должно быть типа Модельный диалог, а визуализауия модельного диалога осуществляется при помощи не show() а exec()! Вот тут и начинается свисто пляска...
Тут я вот о чём подумал а в tab можно передать индивидуально каждый обект классов QLabrl и QLineEdit только что бы они все попали в одну ячейку (тоесть закладку)??? P.S. или может помочь двойно наследие, такое может быть? Сообщение отредактировал fortero - 25.4.2011, 15:59 |
|
|
silver47 |
25.4.2011, 20:11
Сообщение
#4
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
Гм... вы или сами запутались или меня запутали. В диалоге могут быть вкладки, но тогда сам OpdionsD содержит лишь один виджет QTabWidget. А уж на него навешиваются остальные...
ПыСы #1 Модальностью может обладать ЛЮБОЕ ОКНО по Вашему выбору. ПыСы #2 Имеется пример TabDialog Сообщение отредактировал silver47 - 25.4.2011, 20:14 |
|
|
fortero |
25.4.2011, 22:45
Сообщение
#5
|
Участник Группа: Участник Сообщений: 132 Регистрация: 4.12.2010 Пользователь №: 2242 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо проблему решил другим способом, без класса QTabWidget
ИМХО там было всё запутано... |
|
|
Текстовая версия | Сейчас: 13.1.2025, 19:26 |