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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTableWidget - Вызов окна диалога  (Прочитано 4205 раз)
Digan
Гость
« : Март 05, 2011, 21:13 »

Всем привет.

Как сделать, чтобы при двойном щелчке мыши по определенной ячейке в QTableWidget появлялось заранее приготовленное окно диалога?

Знаю, что есть метод setEditTriggers(), но как сделать так чтобы окно диалога появлялось только по двойном щелчку ячейки имеющей только определенное содержимое?
К примеру в n-ой строке первого столбца стоит значение symtab.

Заранее спасибо.
« Последнее редактирование: Март 05, 2011, 21:17 от Digan » Записан
Etud
Гость
« Ответ #1 : Март 05, 2011, 21:34 »

Содержимое ячейки (т.е. текст) нуждается в редактировании ?

Диалог сделать то не проблема ! Нужно уточнить сначала...
Записан
Disaron
Гость
« Ответ #2 : Март 05, 2011, 21:53 »

Код
C++ (Qt)
void itemDoubleClicked ( QTableWidgetItem * item ) [signal]
Код
C++ (Qt)
connect(.....)
 
void slotItemDoubleClicked(QTableWidgetItem * item)
{
   if (item->data()==...) {
   ......
   }
}
Записан
Digan
Гость
« Ответ #3 : Март 05, 2011, 21:57 »

Благодарю, но я эту проблему решил по другому. Перешел к слоту cellDoubleClicked(int, int) и написал такой код.

Код
C++ (Qt)
void MainWindow::on_tableWidget_3_cellDoubleClicked(int row, int column)
{
   if(column == 0)
   {
       if(ui->tableWidget_3->item(row, column)->text() == ".symtab")
       {
       }
   }
}
 
Содержимое ячейки не нужно было редактировать.
Записан
Etud
Гость
« Ответ #4 : Март 05, 2011, 23:05 »

Цитировать
Содержимое ячейки не нужно было редактировать.

Отключил редактирование ячейки ?
Записан
Digan
Гость
« Ответ #5 : Март 06, 2011, 01:00 »

Отключил редактирование ячейки ?


Да. Отключил редактирование всей таблицы.
Код
C++ (Qt)
ui->tableWidget_3->setEditTriggers(QAbstractItemView::NoEditTriggers);
 
« Последнее редактирование: Март 06, 2011, 01:02 от Digan » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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