Название: Как создать свой собственный combobox ? Отправлено: virtual_root от Август 13, 2012, 21:04 Добрый вечер снова! Ребята, подскажите как реализовать мою идею)
Мне нужно создать свой компонент выпадающего списка. Только это должен быть список маркеров для текстового редактора. Как в word есть нумерованный список, а есть маркированный, мы нажимаем на маленький треугольник справа и выпадает список вариантов маркеров для списка. Я пыталась наследоваться от компонента QCombobox. Ну не могу ничего изменить в наследнике всё время выпадает ошибка: Код: undefined reference to 'vable for PictureCmboBox' Вот мой код, и он не компилируется... не понятно почему... Код Смотрела в сторону реализации с помощью делегата, ну что-то не пойму как с помощью него такое сделать... Подскажите, может кому уже приходилось такое реализовывать? Название: Re: Как создать свой собственный combobox ? Отправлено: kambala от Август 13, 2012, 21:17 может из-за неправильной сигнатуры конструктора? попробуй PictComboBox(QWidget* parent = 0).
да, а #include <QComboBox> написано? :) Название: Re: Как создать свой собственный combobox ? Отправлено: virtual_root от Август 13, 2012, 21:34 это наверное был баг Qt... я ещё раз пересоздала класс и всё собралось. Спасибо большое. А дальше как мне список такой воплотить в реальность не подскажите?
Название: Re: Как создать свой собственный combobox ? Отправлено: Bepec от Август 14, 2012, 06:56 Я тебе советую сделать простой виджет - layout с масенькими кнопачками внутри. Выйдет быстрее и проще % на 80.
Ну или сделать свой собственный model-view, с блекджеком и ш... и бабками :D Название: Re: Как создать свой собственный combobox ? Отправлено: virtual_root от Август 14, 2012, 09:52 Я так и решила Верес, просто сделать кнопочками. Вот как я придумала:
возьму 2 кнопки QPushButton, одну из них сделаю квадратной формы и наложу на неё картинку списка, вторую прилеплю рядом и наложу на неё картинку маленького треугольника раскрывающего списка. Чтобы получилось как на прикрепленной картинке. По щелчке по квадратной кнопке будут раскрывать виджет который расположу под ними и который напихаю картинки маркеров)) вот так придумала) Название: Re: Как создать свой собственный combobox ? Отправлено: Bepec от Август 14, 2012, 10:20 В принципе в моём стиле сделано - максимально просто. А можно было бы посложнее - сделать свою кнопочку с отрисовочкой и реакцией на нажатие :)
PS минимум затрат - максимум результата. Угумс. Название: Re: Как создать свой собственный combobox ? Отправлено: Странник от Август 14, 2012, 11:39 я сейчас страшную вещь спрошу. обычный QComboBox чем не устроил? вам же по сути нужен QComboBox, содержащий картинки, или я чего-то в этой жизни не понял?
Код: comboBox->addItem(QIcon(":/icons/mark1.png"), QString()); Название: Re: Как создать свой собственный combobox ? Отправлено: Bepec от Август 14, 2012, 11:57 Странник, а разве combobox поддерживает расположение итемов в сетке ?
Аля gridView? Название: Re: Как создать свой собственный combobox ? Отправлено: virtual_root от Август 14, 2012, 12:04 Картинки запихивать то можно в QCombobox, но мне же нужен внешний вид компонента как на картинке, что я выше привела.
Название: Re: Как создать свой собственный combobox ? Отправлено: Странник от Август 14, 2012, 12:22 Странник, а разве combobox поддерживает расположение итемов в сетке ? QListView поддерживает. и стоит в качестве view по умлочанию.Аля gridView? Код: QListView *view = qobject_cast<QListView *>(comboBox->view()); Картинки запихивать то можно в QCombobox, но мне же нужен внешний вид компонента как на картинке, что я выше привела. стили?Название: Re: Как создать свой собственный combobox ? Отправлено: Bepec от Август 14, 2012, 12:41 Об вот этом я и незнал. Что в comboBox listView. Тогда да - просто использовать приведённый код и вуаля.
Название: Re: Как создать свой собственный combobox ? Отправлено: andrew.k от Август 14, 2012, 14:30 Пока читал тред пару раз в обморок грохнулся)
Об вот этом я и незнал. Что в comboBox listView. Тогда да - просто использовать приведённый код и вуаля. стыдно, батенька!Название: Re: Как создать свой собственный combobox ? Отправлено: Bepec от Август 14, 2012, 14:53 Стыдно ногой пнуть беспомощного и беззащитного.
Мне не стыдно чего-то незнать :) Мне стыдно чему то не научиться :D PS атятя :D |