Дмитрий
Дмитрий5. August 2017 01:13

Verwenden der Schaltflächen WinThumbnailToolButton beim Arbeiten mit Qt unter Windows

Schaltflächen der Klasse QWinThumbnailToolButton - eine der Optionen, die nur für Windows (7 und älter) verfügbar ist. Sie könnten solche Schaltflächen im Windows Media Player sehen


Schritt-für-Schritt-Anleitung

Um diese Schaltflächen verwenden zu können, müssen Sie

Verbinden Sie das Modul winextras mit dem Projekt

QT  += winextras

Erstellen Sie ein QWinThumbnailToolBar-Klassenpanel und binden Sie es an das Fenster

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

Fügen Sie dem Konstruktor den folgenden Code hinzu:

if (QtWin::isCompositionEnabled())
    QtWin::extendFrameIntoClientArea(this, 0, 0, 0, 0);
else
    QtWin::resetExtendedFrame(this);

Jetzt können Sie eine Schaltfläche (Schaltflächen) erstellen und sie an das Bedienfeld binden

B1 = new QWinThumbnailToolButton(thumbnailToolBar);
thumbnailToolBar->addButton(B1);

Fazit

Diese Schaltflächen funktionieren genauso wie QPushButton. Beispielsweise können Sie mit der setIcon()-Methode ein Symbol für die Schaltfläche festlegen, ihr clicked()-Signal einem beliebigen Slot zuordnen und so weiter. Eine eindeutige Eigenschaft dieser Klasse ist die boolesche Variable entlassenOnClick . Wenn der Wert auf true gesetzt ist (setDismissOnClick (true)), wird das Panel nach dem Klicken auf die entsprechende Schaltfläche sofort zerknittert. Andernfalls ist das Bedienfeld verfügbar, bis der Benutzer die Maus davon wegbewegt. Die maximale Anzahl von Schaltflächen, die dem QWinThumbnailToolBar-Bedienfeld hinzugefügt werden können, beträgt 7.

Mit der Eigenschaft flat (setFlat (true)) können Sie die Schaltfläche unsichtbar machen und sie als Trennzeichen zwischen Gruppen von Schaltflächen verwenden, wie in der folgenden Abbildung dargestellt.

Hier können Sie den Text des beschriebenen Programms herunterladen

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.

Magst du es? In sozialen Netzwerken teilen!

Kommentare

Nur autorisierte Benutzer können Kommentare posten.
Bitte Anmelden oder Registrieren
Letzte Kommentare
ИМ
Игорь Максимов5. Oktober 2024 07:51
Django – Lektion 064. So schreiben Sie eine Python-Markdown-Erweiterung Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas55. Juli 2024 11:02
QML - Lektion 016. SQLite-Datenbank und das Arbeiten damit in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssr8. Februar 2024 18:43
Qt Linux - Lektion 001. Autorun Qt-Anwendung unter Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
Qt WinAPI - Lektion 007. Arbeiten mit ICMP-Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25. Dezember 2023 10:30
Boost - statisches Verknüpfen im CMake-Projekt unter Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
Jetzt im Forum diskutieren
J
JacobFib17. Oktober 2024 03:27
добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
JW
Jhon Wick1. Oktober 2024 15:52
Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
КГ
Кирилл Гусарев27. September 2024 09:09
Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
F
Fynjy22. Juli 2024 04:15
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

Folgen Sie uns in sozialen Netzwerken