Russian Qt Forum
Ноябрь 23, 2024, 16:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: QInputDialog - дополнительный виджет  (Прочитано 14683 раз)
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« : Февраль 10, 2015, 16:13 »

Можно ли (как) вставить дополнительный виджет в QInputDialog между виджетом ввода (QLineEdit) и кнопками?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Февраль 10, 2015, 16:16 »

Можно написать свой.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #2 : Февраль 10, 2015, 16:22 »

45kb кода от разработчиков в топку! Нафига layout заносить в приват? Вот я хочу для QSpinBox'а туда кнопочки с цифирями засунуть и мышкой по ним кликать, а то лень до клавы тянуться.
Записан
Bepec
Гость
« Ответ #3 : Февраль 10, 2015, 16:24 »

Безумные желания в 45кб кода не умещаются Улыбающийся
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #4 : Февраль 10, 2015, 16:28 »

Ага, давай все в паблик выносить.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #5 : Февраль 10, 2015, 16:31 »

45kb кода от разработчиков в топку! Нафига layout заносить в приват? Вот я хочу для QSpinBox'а туда кнопочки с цифирями засунуть и мышкой по ним кликать, а то лень до клавы тянуться.
Вы о каком layout говорите? В каком месте он стал приватным?
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #6 : Февраль 10, 2015, 16:37 »

45kb кода от разработчиков в топку! Нафига layout заносить в приват? Вот я хочу для QSpinBox'а туда кнопочки с цифирями засунуть и мышкой по ним кликать, а то лень до клавы тянуться.

может можно сделать findChild и найти используемый layout?
Записан

Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #7 : Февраль 10, 2015, 16:44 »

Код
C++ (Qt)
QLayout * QWidget::​layout() const
 
Но это слишком костыльный путь. Лучше уж свой написать.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #8 : Февраль 10, 2015, 17:37 »

Код
C++ (Qt)
QLayout * QWidget::​layout() const
 
Но это слишком костыльный путь. Лучше уж свой написать.
Зачем писать свой? Почему не использовать layout из QWidget?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #9 : Февраль 10, 2015, 22:17 »

От какого виджета? А если будут несколько лайотов? Кто тебе дает гарантию, что внутренняя часть не поменяется?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #10 : Февраль 10, 2015, 22:25 »

От какого виджета? А если будут несколько лайотов? Кто тебе дает гарантию, что внутренняя часть не поменяется?
Я так понимаю, ТС хочет добраться до layout'а самого.
Несколько лайотов быть не может, он всегда один, но может содержать дочерние слои.
А по внутренней части никто гарантий дать не сможет, все на свой страх и риск.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #11 : Февраль 10, 2015, 22:38 »

Вот в том и дело, нужный ему лайот может лежать в другом лайоте. Правильнее будет свою реализацию сделать.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
vbv
Чайник
*
Offline Offline

Сообщений: 59


Просмотр профиля
« Ответ #12 : Февраль 11, 2015, 00:47 »

А взять исходники и посмотреть формирование QInputDialog, и потом найти его по имени.....
Записан
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #13 : Февраль 11, 2015, 09:02 »

Я все же добрался до layout'а ... через одно место  Веселый

Код
C++ (Qt)
   QInputDialog *inputDialog = new QInputDialog(this);
   qDebug() << "a:" << inputDialog->layout();
   QString labelText = inputDialog->labelText();
   qDebug() << "b:" << inputDialog->layout();
   QVBoxLayout *layout = static_cast<QVBoxLayout *>(inputDialog->layout());
   layout->insertWidget(1, new QPushButton("1", this));
   inputDialog->exec();
 
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #14 : Февраль 11, 2015, 16:59 »

Я все же добрался до layout'а ... через одно место  Веселый
Ну че, пятерка тебе по проктологии. xD
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.26 секунд. Запросов: 23.