Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
1

Отображение иконок в несколько колонок

10.09.2016, 17:39. Показов 1527. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как лучше/проще реализовать такое:
Отображение иконок в несколько колонок

Т.е. несколько колонок и в каждой свои итемы с иконками и надписями.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2016, 17:39
Ответы с готовыми решениями:

Несколько колонок
Здравствуйте. Начинаю только изучать Qt. У меня вопрос: Надо сделать 3 колонки Первая: ID (должен...

Отображение иконок в Xpage
Во вью есть колонка с иконками (стоит галочка Display values as icons). Как эту колонку во вью...

Неправильное отображение иконок
Уже час не могу решить проблему с иконками в Windows 7, установил iBacked Skin Pack, с которым шли...

Отображение иконок из PE файла
Пробую для начала считать 1ю иконку.Но выходит только ERROR_RESOURCE_TYPE_NOT_FOUND :( ...

7
1070 / 652 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
10.09.2016, 18:49 2
Avazart, Проще? Проще - в QML.

А в обычных виджетах скорее всего придётся использовать QListVIew/QLIstWidget в зависимости от работы с данными. Но я без понятия, можно ли у них вот такое отображение обеспечить.
Если нет, то можно написать собственный велосипед за 5 минут:
1) Написать примитивный виджет-делегат, который будет состоять только из изображения и строки с текстом.
2) Сделать виджет, разместить у него header-виджет и viewport-виджет с VerticalLayout. В viewport-виджет разместить VerticalLayout и написать ему функции добавления/удаления элементов. И загонять их в этот слой.

P.S. Я так думаю ты и сам в курсе всех этих нюансов. Вроде для подобных вещей в Qt до сих пор больше ничего не сделали.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
10.09.2016, 19:25  [ТС] 3
Цитата Сообщение от Wyn Посмотреть сообщение
Avazart, Проще? Проще - в QML.
QML сырая штука (в плане MVC), так что наоборот.

Цитата Сообщение от Wyn Посмотреть сообщение
1) Написать примитивный виджет-делегат, который будет состоять только из изображения и строки с текстом.
2) Сделать виджет, разместить у него header-виджет и viewport-виджет с VerticalLayout. В viewport-виджет разместить VerticalLayout и написать ему функции добавления/удаления элементов. И загонять их в этот слой.
Замутно.

Цитата Сообщение от Wyn Посмотреть сообщение
Вроде для подобных вещей в Qt до сих пор больше ничего не сделали.
Решил с помощью QTreeView + QStandardItemModel + QStandardItem

Кому интересно фрагмент кода на Python(PyQt)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
        self.model = QStandardItemModel(self)
        lithology_items = [] # QList<QStandardItem*>  lithology_items;
        symbols_items = []  
        for path, data in Storage().loaded_pixmaps().items():
            item = QStandardItem(data["type"]) # QStandardItem* item= new QStandardItem("text");
            if data["pattern"] == "Lithology":
                pixmap = data["pixmap"].scaled(50,50)
                # ...
                item.setIcon(QIcon(pixmap))
                lithology_items.append(item)
            elif data["pattern"] == "Symbols":
                pixmap = QPixmap(50,50)
                # ... 
                item.setIcon(QIcon(pixmap))
                symbols_items.append(item)
 
        self.model.appendColumn(lithology_items)
        self.model.appendColumn(symbols_items)
 
        self.model.setHorizontalHeaderLabels(["Lithology","Symbols"]) # QStringList()<<"Lithology"<<"Symbols"
 
        self.ui.treeView.setIconSize(QSize(50,50))
        self.ui.treeView.setSelectionMode(QAbstractItemView.NoSelection) # QAbstractItemView::NoSelection
        self.ui.treeView.setModel(self.model)
        self.ui.treeView.resizeColumnToContents(0)
0
1070 / 652 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
10.09.2016, 20:30 4
Цитата Сообщение от Avazart Посмотреть сообщение
QML сырая штука (в плане MVC), так что наоборот.
К третьей версии может и допилят. Хотя мне и сейчас норм.
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
10.09.2016, 20:48 5
Через Qt::DecorationRole модель возвращает иконку/изображение. Можно взять QTableView и потом попробовать убрать сетрку.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
10.09.2016, 20:51  [ТС] 6
Цитата Сообщение от Wyn Посмотреть сообщение
К третьей версии может и допилят. Хотя мне и сейчас норм.
А мне нет. С табличной версией проблемы. Т.е. банально связать бд с QML представлением проблема. Там я видел гродят люди огороды через роли, но это не дело.

Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Через Qt::DecorationRole модель возвращает иконку/изображение. Можно взять QTableView и потом попробовать убрать сетрку.
Мм иконка не исчезнет?
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
11.09.2016, 09:38 7
О как. У QTableView даже есть специальный метод showGrid
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.09.2016, 17:32  [ТС] 8
Цитата Сообщение от Avazart Посмотреть сообщение
Мм иконка не исчезнет?
Хм с QTableView тоже работает.
0
12.09.2016, 17:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.09.2016, 17:32
Помогаю со студенческими работами здесь

Отображение иконок файлов в StringGrid
Среда разработки Builder c++. Язык - C ++.Сделал файл менеджер с помощью компоненты StringGrid,...

Правильное отображение иконок в тулбаре
Здравствуйте население форума! вопрос таков, столкнулся с такой фигней, что когда создаю тулбар, в...

Некорректное отображение иконок Win7
включая комп обнаружил такую ерунду - неправильно отображаются иконки. Попытался их изменить, но...

Отображение иконок в шрифте ss-social
Подскажите, как решить проблему. Пытаюсь на странице вывести символ Skype для контактов, с помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru