Название: Отрисовать много цветных кнопок Отправлено: Авварон от Января 25, 2012, 10:45 Стоит задача - нарисовать по вертикали много кнопок, как в вертикал лэйауте, но те кнопки, к-ые не влезают по высоте, должны вылезать за край виджета; скролл не нужен. Типа стека кнопок - при нажатии верхней она исчезает и кнопки подвигаются вверх на одну. Щаз реализовано через скролларею с лэйаутом, но тк кнопок архи много, все безбожно тормозит.
Хотелось бы отрисовать эти кнопки руками в пейнт эвенте. Но вот незадача - я не могу нарисовать Flat кнопку с бэкграунд цветом. Код рисования взят один в один из QPushButton. Если у давибатона установить флэт, то он рисует фон с ролью палитры Button. У меня же это не происходит. ЧЯДНТ? Код: #include <QWidget> Название: Re: Отрисовать много цветных кнопок Отправлено: Пантер от Января 25, 2012, 10:50 А если хайдить ненужные?
Название: Re: Отрисовать много цветных кнопок Отправлено: Авварон от Января 25, 2012, 10:57 Там релайаут тормозит, не поможет.
Название: Re: Отрисовать много цветных кнопок Отправлено: Пантер от Января 25, 2012, 11:00 А если без лайотов? Делаешь виджет, который и размещает в себе кнопки, хайдя ненужные.
Название: Re: Отрисовать много цветных кнопок Отправлено: Авварон от Января 25, 2012, 11:20 Это поможет, но все равно туева хуча лишних объектов получается.
Название: Re: Отрисовать много цветных кнопок Отправлено: Bepec от Января 26, 2012, 06:59 А не проще тебе тогда сделать Model-View с кнопачобуками? Сразу куча вопросов отпадет.
Название: Re: Отрисовать много цветных кнопок Отправлено: Akon от Января 26, 2012, 09:47 Навскидку, м.б.
pal.setColor(QPalette::Background, Qt::red); // вместо pal.setColor(QPalette::Button, Qt::red); Цитировать тк кнопок архи много, все безбожно тормозит Возможно, имеет смысл следующее: иметь архи большой список команд и только несколько фиксированных (видимых) кнопок. При продвижении команд просто менять свойства кнопок. Т.е. имеем как бы вьюпорт в списке команд. |