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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Первый символ в редактируемом QComboBox в QTable  (Прочитано 4305 раз)
igorko
Гость
« : Апрель 03, 2005, 00:20 »

Я опять с вопросом вставки QComboBox в QTable

Вот что я делаю:

QWidget * MyTable :: createEditor ( int row, int col, bool initFromCell ) const
    {
   if ( isReadOnly() || isRowReadOnly( row ) || isColumnReadOnly( col ) )
       return 0;

   QWidget *e;

        QString s = text (row, col);
   e = new QComboBox( TRUE, viewport() );
        ( (QComboBox*)e ) -> setEditable (TRUE);
        ( (QComboBox*)e ) -> setAutoCompletion (TRUE);    
   ( (QComboBox*)e ) -> insertItem ("One");
   ( (QComboBox*)e ) -> insertItem ("Two");
   ( (QComboBox*)e ) -> insertItem ("Three");
   ( (QComboBox*)e ) -> setEditText (s);
   (( (QComboBox*)e ) -> lineEdit ()) -> selectAll ();
   
   return e;
 }

Всё работает точно как хочу, но почему-то теряет первое нажатие кнопки на клавиатуре - оно активизирует QComboBox и "исчезает".

Вопрос:
Как сделать чтобы первый вводимый символ активизировал комбобокс, попадал в редактируемое поле и начинал autoCompletion?
Надеюсь, что понятно объяснился и очень жду вашей помощи.

Огромное спасибо!
Записан
Keiko
Гость
« Ответ #1 : Апрель 03, 2005, 14:54 »

Не по теме, но, ИМХО так было бы паписать правильнее

Код:

QWidget * MyTable :: createEditor ( int row, int col, bool initFromCell ) const
{
  if ( isReadOnly() || isRowReadOnly( row ) || isColumnReadOnly( col ) )
     return 0;

  QComboBox *e;

  QString s = text (row, col);
  e = new QComboBox( TRUE, viewport() );
  e -> setEditable (TRUE);
  e -> setAutoCompletion (TRUE);
  e -> insertItem ("One");
  e -> insertItem ("Two");
  e -> insertItem ("Three");
  e -> setEditText (s);
  e -> lineEdit ()) -> selectAll ();

  return e;
}
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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