crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QTableWidget, Как при выделении ячейки вывести на её месте другой виджет?
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Strikevld Дата 27.9.2011, 15:30
  Всем большое спасибо за внимание и ответы!
Нашел! Нужная мне функция setIndexWidget
Но чтобы её использовать надо юзать TableView т.е пришлось
подучить модель представление и теперь пожалуй я вижу лучшим выходом
использование делегатов!

Проблема решена! Привелико благодарен! ;) :)
Strikevld Дата 9.9.2011, 19:38
 
Цитата(Алексей1153 @ 7.9.2011, 10:26) *
нужно создать экземпляр QComboBox с родителем==таблица, затем комбу разместить ровно в размер ячейки на таблице

Кстати вариант хороший, а как узнать текущую позицию и размер ячейки (QTableWidgetItem) относительно окна или вьюпорта таблицы?
Strikevld Дата 9.9.2011, 17:07
 
Цитата(Litkevich Yuriy @ 9.9.2011, 20:24) *
Цитата(Strikevld @ 7.9.2011, 18:44) *
Да пытался!
а где же код?

Да блин... я его уже переписал подругому пока что вывожу ячейку в отдельном комбо ниже таблицы,
Но вопрос ещё остаётся, я в Qt как бы новичок поэтому буду щас разбираться что такое делегат,
попробую по книжке "QT4.5 Проф. программирование на С++"
Но хотелось-бы просто разместить комбо над таблицей, как например другие виджеты!
Буду учить, учить и ещё раз учить!!!
Litkevich Yuriy Дата 9.9.2011, 16:24
 
Цитата(Strikevld @ 7.9.2011, 18:44) *
Да пытался!
а где же код?
Гость Дата 9.9.2011, 12:59
  Посмотри QTableWidget::setCellWidget (http://doc.crossplatform.ru/qt/4.6.x/qtablewidget.html#setCellWidget)

Я пользовался QTreeWidget::setItemWidget (аналог у дерева). Встраиваемый виджет сам вписывается в элемент, ресайзится скролится и т.п.
MoPDoBoPoT Дата 8.9.2011, 20:27
 
Цитата(Алексей1153 @ 7.9.2011, 7:26) *
нужно создать экземпляр QComboBox с родителем==таблица, затем комбу разместить ровно в размер ячейки на таблице

Кстати, чтобы так сделать, надо парентом сделать вьюпорт (QAbstractScrollArea::viewport()), а не саму таблицу. Но через делегат, по-моему, правильней и удобней.
Алексей1153 Дата 8.9.2011, 6:54
  Strikevld, да я и не говорил, что кто-то идиот. Если не видно виджет, это одно из трёх:

1)он не создан
2)он скрыт
3)он передвинут не туда
MoPDoBoPoT Дата 7.9.2011, 19:32
  Делегат + нужная стратегия редактирования у представления (QAbstractItemView::EditTriggers)
Strikevld Дата 7.9.2011, 17:43
 
Цитата(Алексей1153 @ 7.9.2011, 20:53) *
Цитата
Ведь одно и тоже но комбо не видно!


так надо было его показать )


если вы про ->show(); то я не совсем идиот!
Показывал всё равно не видно!
Алексей1153 Дата 7.9.2011, 16:53
 
Цитата
Ведь одно и тоже но комбо не видно!


так надо было его показать )
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 13:07