crossplatform.ru

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


  Ответ в выделение виджетов и групповое редактированием
Введите ваше имя
Подтвердите код

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

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


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 27.6.2010, 22:06
 
Цитата(Гость_trupac_* @ 27.6.2010, 21:04) *
теперь всё видно?
ну вот, другое дело.
trupac Дата 27.6.2010, 17:04
  Litkevich Yuriy, http://img690.imageshack.us/img690/4509/screenshot1fx.png теперь всё видно? да, смею заметить, что вы слегка увлеклись "файлами" и "папочками" - на скрине был просто пример. однако не всё так плохо - вы дали мне кейворд, который вывел меня сей замечательный толмуд http://doc.qt.nokia.com/4.6/model-view-programming.html спасибо вам

Алексей1153, именно. :rolleyes: группа элементов которыми необходимо манипулировать. выделять их о_0
Litkevich Yuriy Дата 27.6.2010, 13:01
 
Цитата(Гость_trupac_* @ 27.6.2010, 16:45) *
да и на рисунке было показано не что иное, как "выделение".
я, к стати, там не увидел выделения. Какие элементы выделены, а какие нет?

Цитата(Алексей1153 @ 27.6.2010, 15:45) *
Кстати, QListWidget или QListView, может, подойдут
+1

вообще связка QFileSystemModel + QListView для этого и предназначена
trupac Дата 27.6.2010, 12:45
  да блин. ВЫДЕЛЕНИЕ. это когда выделяют, тянут рамочку, жамкают по элементам с зажатыми контролом или шифтом. только в рамках одной конкретно указанной программы. да и на рисунке было показано не что иное, как "выделение".
Алексей1153 Дата 27.6.2010, 11:45
 
Цитата(Гость_trupac_* @ 26.6.2010, 20:30) *
не стесняйтесь, укажите мне на это

Не постесняюсь напомнить, что правильно поставленный вопрос - это половина ответа :)
А иначе люди просто не поймут, что тебе нужно сделать.

По рисунку понятно, что требуется нечто похожее на менеджер файлов и папок (где могут быть не обязательно файлы и папки, а любые элементы, иконками которых необходимо манипулировать). Так ?

Кстати, QListWidget или QListView, может, подойдут
trupac Дата 27.6.2010, 10:04
  пример "выделения" на кутишном виджите. http://img806.imageshack.us/i/screenshot.png/
Алексей1153 Дата 26.6.2010, 19:32
  А что понимается под "выделением" ? :)

Проверка на наличие одинаковых элементов: перебрать все объекты и посчитать количество уникальных строк. Где будет больше 1 - там.
Можно применить std::map - как раз для этой задачи подойдёт

    #include <map>

    struct QMyWidget
    {
        QString m_str;
    };

    typedef std::map<QString,int> td_counter;
    td_counter _counter;

    typedef std::map<QMyWidget*,int> td_list;
    td_list _list;

    //перебираем виджеты
    QMyWidget* p=0;
    for(.....;......;......)
    {
        //p->m_str - строка из текущего виджета
        if((++_counter[p->m_str])>1)
        {
            _list[p];
        }
    }

    //_list - список указателей на виджеты с повтором

    if(_list.size())
    {
        //пройдёмся по виджетам с дублями
        td_list::iterator it;
        for(it=_list.begin();it!=_list.end();it++)
        {
            QMyWidget* p=it->first;

            //*p - текущий виджет с повтором
            //...
        }
    }


если строки аааафигеть большие, можно заменить ключ с QString на структуру с длиной строки и CRC16 строки (своеобразный хеш)
trupac Дата 26.6.2010, 17:30
  как можно осуществить выделение группы сложно устроенных виджетов (виджеты могут содержать произвольное количество строк и столбцов текстовой информации), проверку их на наличие одинаковых строк и редактирование одинаковых строк внутри этой группы при помощи qt?

опыта в программирование ui практически не имею. если мои запросы завышены, не стесняйтесь, укажите мне на это.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 3:48