karlson
Гость
|
|
« : Декабрь 30, 2005, 14:30 » |
|
как программно "свернуть" комбобокс для его разорачивания использовался метод popup(). а есть ли что нить обратное ему?
|
|
|
Записан
|
|
|
|
Racheengel
|
|
« Ответ #1 : Декабрь 30, 2005, 14:40 » |
|
может close()?
|
|
|
Записан
|
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
|
|
|
zlatko
Гость
|
|
« Ответ #2 : Декабрь 30, 2005, 14:47 » |
|
или setCurrentItem() :roll:
|
|
|
Записан
|
|
|
|
karlson
Гость
|
|
« Ответ #3 : Декабрь 30, 2005, 21:42 » |
|
close() не подходит а вот SetCurrentItem() - попробую
добавлено спустя 1 час 4 минуты:
SetCurrentItem() - не работает. понять не могу куда копать =(
|
|
|
Записан
|
|
|
|
Dendy
Гость
|
|
« Ответ #4 : Январь 03, 2006, 10:21 » |
|
QWidget * popupWidget = qApp->activePopupWidget(); if ( popupWidget ) popupWidget->close();
|
|
|
Записан
|
|
|
|
karlson
Гость
|
|
« Ответ #5 : Январь 04, 2006, 23:17 » |
|
popupWidget - это я так понимаю мой комбо бокс а qApp - это класс приложения который описывается в main.cpp?
|
|
|
Записан
|
|
|
|
Steven_Orko
Гость
|
|
« Ответ #6 : Январь 04, 2006, 23:51 » |
|
Нет, qApp - это глобальная переменная. См. Assistent
|
|
|
Записан
|
|
|
|
Dendy
Гость
|
|
« Ответ #7 : Январь 05, 2006, 10:01 » |
|
popupWidget - текущее активное вьІпадающее окно, в данном случае - список от комбо-бокса. Вообще не самьІй хороший способ. Пробуй осё: if ( myComboBox->view() ) myComboBox->view()->close();
|
|
|
Записан
|
|
|
|
karlson
Гость
|
|
« Ответ #8 : Январь 05, 2006, 23:45 » |
|
if ( myComboBox->view() ) myComboBox->view()->close(); [/quote] вот что говорят .ui/../mainform.ui.h:131: error: 'class QComboBox' has no member named 'view'
|
|
|
Записан
|
|
|
|
Dendy
Гость
|
|
« Ответ #9 : Январь 06, 2006, 09:59 » |
|
А яка версія Qt ?
|
|
|
Записан
|
|
|
|
karlson
Гость
|
|
« Ответ #10 : Январь 06, 2006, 14:54 » |
|
3.3.4 сорри что сразу не написал
а можно поподробнее насчет qApp
|
|
|
Записан
|
|
|
|
Dendy
Гость
|
|
« Ответ #11 : Январь 06, 2006, 15:19 » |
|
Як маленькі. У Qt 3.3: if ( myComboBox->listBox() ) myComboBox->listBox()->close();
|
|
|
Записан
|
|
|
|
karlson
Гость
|
|
« Ответ #12 : Январь 06, 2006, 16:18 » |
|
вот код и почему то не работает =(((
void mainform::keyPressEvent( QKeyEvent *e ) { int kla = e->key(); switch (kla) { case Key_F11: { check_comboboxes(); LeftDriveBox->popup(); break; } case Key_F12: { check_comboboxes(); RightDriveBox->popup(); break; } } }
void mainform::check_comboboxes() { if ( LeftDriveBox->listBox() ) { LeftDriveBox->listBox()->close(); } if ( RightDriveBox->listBox() ) { RightDriveBox->listBox()->close(); }
}
|
|
|
Записан
|
|
|
|
Dendy
Гость
|
|
« Ответ #13 : Январь 06, 2006, 18:14 » |
|
Qt 4: if ( myComboBox->listBox() ) myComboBox->listBox()->window()->close();
|
|
|
Записан
|
|
|
|
karlson
Гость
|
|
« Ответ #14 : Январь 06, 2006, 18:33 » |
|
у мя qt 3.3.4
|
|
|
Записан
|
|
|
|
|