Кнопки класса QWinThumbnailToolButton – одна из возможностей, доступных только для ОС Windows (7 и старше). Такие кнопки вы могли видеть у программы Windows Media Player
Пошаговая инструкция
Для использования таких кнопок необходимо
Подключить модуль winextras к проекту
QT += winextras
Создать панель класса QWinThumbnailToolBar и привязать её к окну
thumbnailToolBar = new QWinThumbnailToolBar(this); thumbnailToolBar->setWindow(windowHandle());
Добавляем в конструктор код
if (QtWin::isCompositionEnabled()) QtWin::extendFrameIntoClientArea(this, 0, 0, 0, 0); else QtWin::resetExtendedFrame(this);
Теперь можно создать кнопку (кнопки) и привязать её (их) к панели
B1 = new QWinThumbnailToolButton(thumbnailToolBar); thumbnailToolBar->addButton(B1);
Заключение
Эти кнопки работают также как QPushButton. Например, можно установить для кнопки иконку с помощью метода setIcon(), связать сигнал её clicked() с любым слотом, и т.д. Уникальным свойством этого класса является логическая переменная dismissOnClick. Если её значение установить как true (setDismissOnClick(true)), то после нажатия на соответствующую кнопку панель будет мгновенно сварачиваться. В противном случае панель будет доступна пока пользователь не отведёт от неё курсор мыши. Максимальное число кнопок, которое можно добавить на панель QWinThumbnailToolBar - 7.
С помощью свойства flat (setFlat(true)) можно сделать кнопку невидимой и использовать её в качестве разделителя между группами кнопок, как на рисунке ниже.