crossplatform.ru

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


  Ответ в Редактирование элементов в QTreeWidget
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

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


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 22.7.2008, 22:23
  хм, да ты прав, QTreeWidgetItem - представляет строку, а не ячейку как для QTableWidgetItem. Пороюсь в асистенте сожет найду ответ на твой вопрос.
Sayounara Дата 22.7.2008, 16:27
 
Цитата(Litkevich Yuriy @ 22.7.2008, 12:37) *
тогда нельзя говорить, "для всего" , надо говорить "всего лишь"
Ведь item это элемент представления, а не все представление.
тебе надо прбежаться по всем элементам заданной колонки и поставить флажек

Да, но QTreeWidgetItem - это ведь не элемент колонки. В данном мною выше примере, я рассматриваю QTreeWidget c 2-мя колонками. Именно в том и вопрос, как мне обратиться именно к элементу колонки. Если пробежаться по всем QTreeWidgetItem'м и выставить флажок, то у каждого элемента можно изменять значение в обоих колонках, а мне нужно только в 1-й.
Litkevich Yuriy Дата 22.7.2008, 11:37
  тогда нельзя говорить, "для всего" , надо говорить "всего лишь"
Ведь item это элемент представления, а не все представление.
тебе надо прбежаться по всем элементам заданной колонки и поставить флажек
Sayounara Дата 22.7.2008, 10:58
 
Цитата(Litkevich Yuriy @ 22.7.2008, 11:53) *
Цитата(Sayounara @ 22.7.2008, 14:31) *
устанавливается только для всего item

а что есть item?


QTreeWidgetItem
Litkevich Yuriy Дата 22.7.2008, 10:53
 
Цитата(Sayounara @ 22.7.2008, 14:31) *
устанавливается только для всего item

а что есть item?
Sayounara Дата 22.7.2008, 10:31
 
Цитата(ViGOur @ 19.6.2008, 15:46) *
Не ставь для колонки которую не нужно редактировать флаг: Qt::ItemIsEditable. :)


Пардон, что потерялся.. Это понятно, просто не совсем ясно как это сделать... В SetFlag нет параметра, который бы определял номер колонки. Флаг устанавливается только для всего item'a...
ViGOur Дата 19.6.2008, 14:46
  Не ставь для колонки которую не нужно редактировать флаг: Qt::ItemIsEditable. :)
Sayounara Дата 19.6.2008, 14:09
  Теперь задача усложняется :)
Например, в QTreeWidget'e есть 2 колонки. Как разрешить редактировать содержимое только первой колонки?
bibelwort Дата 18.2.2008, 18:39
 
Цитата(ViGOur @ 18.2.2008, 13:43) *
В десигнере незнаю как, ну раками можно это сделать установив для QTreeWidgetItem флаг Qt::ItemIsEditable...


Спасибо большое за помощь, все получилось :) Тема закрыта.
ViGOur Дата 18.2.2008, 13:43
  В десигнере незнаю как, ну раками можно это сделать установив для QTreeWidgetItem флаг Qt::ItemIsEditable, пример:
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QTreeWidget *pTreeWidget = new QTreeWidget( 0); 
    pTreeWidget->setColumnCount(2);
    QStringList headers;
    headers << QObject::tr("Subject") << QObject::tr("Default");
    pTreeWidget->setHeaderLabels( headers); 

    QTreeWidgetItem *pRoot = new QTreeWidgetItem( pTreeWidget);
    pRoot->setText( 0, QObject::tr("Root"));
    
    for( int n = 0; n < 100; n++)
    {
        QTreeWidgetItem *pChild = new QTreeWidgetItem( pRoot);
        pChild->setFlags( pChild->flags() | Qt::ItemIsEditable);
        
        QString sz0 = QObject::tr( "Item %1").arg( n);
        QString sz1 = QObject::tr( "Sub item %1").arg( n);
        pChild->setText(0, sz0);
        pChild->setText(1, sz1);
    }

    pTreeWidget->show();

    return a.exec();
}
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 5.7.2025, 4:22