Дмитрий
5 августа 2017 г. 11:13

Использование кнопок WinThumbnailToolButton при работе с Qt на Windows

Кнопки класса QWinThumbnailToolButton – одна из возможностей, доступных только для ОС Windows (7 и старше). Такие кнопки вы могли видеть у программы Windows Media Player


Пошаговая инструкция

Для использования таких кнопок необходимо

Подключить модуль winextras к проекту

  1. QT += winextras

Создать панель класса QWinThumbnailToolBar и привязать её к окну

  1. thumbnailToolBar = new QWinThumbnailToolBar(this);
  2. thumbnailToolBar->setWindow(windowHandle());

Добавляем в конструктор код

  1. if (QtWin::isCompositionEnabled())
  2. QtWin::extendFrameIntoClientArea(this, 0, 0, 0, 0);
  3. else
  4. QtWin::resetExtendedFrame(this);

Теперь можно создать кнопку (кнопки) и привязать её (их) к панели

  1. B1 = new QWinThumbnailToolButton(thumbnailToolBar);
  2. thumbnailToolBar->addButton(B1);

Заключение

Эти кнопки работают также как QPushButton. Например, можно установить для кнопки иконку с помощью метода setIcon(), связать сигнал её clicked() с любым слотом, и т.д. Уникальным свойством этого класса является логическая переменная dismissOnClick. Если её значение установить как true (setDismissOnClick(true)), то после нажатия на соответствующую кнопку панель будет мгновенно сварачиваться. В противном случае панель будет доступна пока пользователь не отведёт от неё курсор мыши. Максимальное число кнопок, которое можно добавить на панель QWinThumbnailToolBar - 7.

С помощью свойства flat (setFlat(true)) можно сделать кнопку невидимой и использовать её в качестве разделителя между группами кнопок, как на рисунке ниже.

Здесь можно скачать текст описанной программы

Вам это нравится? Поделитесь в социальных сетях!

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь