Privacy policyContactsAbout siteOpinionsGitHubDonate
© EVILEG 2015-2018
Recommend hosting
TIMEWEB

Progress bar on the taskbar icon of a Windows application using Qt

Qt, winextras, QWinTaskbarProgress, полоса прогресса

The Qt library provides a number of platform-dependent features. One of these features for Windows is the use of the progress bar on the taskbar icon. This option is available for the OS since version 7.

To use this and some other features, you need to connect the winextras module,

QT += winextras

connect library

#include <QtWinExtras>

and add macros

QT_FORWARD_DECLARE_CLASS(QWinTaskbarButton)
QT_FORWARD_DECLARE_CLASS(QWinTaskbarProgress)

In the designer of the main window we place

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

To display the progress line, you must create a QWinTaskbarButton object,

QWinTaskbarButton *button;
button = new QWinTaskbarButton(this);

bind it to the application window,

button->setWindow(windowHandle());

create a pointer to a QWinTaskbarProgress class object

QWinTaskbarProgress *progress;

and assign it

progress = button->progress();

In many ways, the QWinTaskbarProgress object is identical to the QProgressBar object. For it, you can set the boundaries of the changes different from the default values (0 and 100) using the setMaximum (int), setMinimum (int), setRange (int, int) methods and set the current value using setValue (int). The show () method makes the progress bar visible, hide () has the opposite effect.

The progress bar is displayed in one of 3 colors: green (active mode), yellow (pause), red (stop). After creation, the progress bar is in active mode. You can set or remove the pause mode using the setPaused (bool) function. Calling the stop () method puts the bar in stop mode. From this mode you can not withdraw it. The only possibility is to delete the QWinTaskbarButton object and create a new one. In any of the modes, you can change the values of the progress bar in the direction of increasing or decreasing.

An example of the program can be downloaded from the link .

Virtual hosting with 10 percent discount
Virtual hosting with 10 percent discount
EVILEG offers reliable hosting with a 10% discount for virtual hosting and 5% for VPS

Я так понимаю под линукс такое отсутствует?

Comments

Only authorized users can post comments.
Please, Log in or Sign up
МБ
April 21, 2019, 9:40 a.m.
Моисей Бушуев

Qt - Test 001. Signals and slots

  • Result:0points,
  • Rating points-10
AA
April 17, 2019, 7:40 p.m.
Anton Ablin

Qt - Test 001. Signals and slots

  • Result:73points,
  • Rating points1
E
April 17, 2019, 6:16 p.m.
Evgeny

Qt - Test 001. Signals and slots

  • Result:100points,
  • Rating points10
Last comments
April 21, 2019, 4:22 p.m.
Евгений Легоцкой

Через метод setIcon table.horizontalHeaderItem(0).setIcon("qrc://path/to/icon.png")
April 21, 2019, 3:48 p.m.
Евгений Легоцкой

Добрый день! Спасибо за комментарий. Там действительно лучше будет сделать с инициализацией по умолчанию.
U
April 18, 2019, 3:37 p.m.
Unreal_man

А как иконку в хедер задать?
u
April 18, 2019, 2:15 a.m.
uaa

доброго времени,большое спасибо за пример для начинающего)при адаптации к своему проекту столкнулся с таким ньансом:в vepolyline.h в 47 строке нужна инициализация по умолчанию: int m_pointF...
E
April 11, 2019, 12:49 p.m.
Evgeny

Спасибо за ответ) У меня компоновщик на нее ругался просто. Оказалось, просто забыл Q_OBJECT в начале класса указать.
Now discuss on the forum
April 24, 2019, 11:22 a.m.
Ruslan Polupan

Согласен. но ситуация не поменялась. Такое чуство что данные не записываются в модель.
April 24, 2019, 6:20 a.m.
Ruslan Polupan

я так понимаю надо инфорация об устройствах.Я бы пробовал так rust@suse:~> lsblk -PNAME="sda" MAJ:MIN="8:0" RM="0" SIZE="111,8G" RO="0" TYPE="disk" MOUNTPOINT=""NAME="sda1" MAJ:MIN="8...
April 21, 2019, 4:16 p.m.
Евгений Легоцкой

Приветствую Нужно сохранять где-то выбранное значение, а потом восстанавливать его. Или использовать QSettings или добавить метод open(), в который передавать начальные значения для того...
R
April 19, 2019, 9:55 a.m.
RED_Spider

мені важко це зараз навіть перевірити, тому що знайшов коміт, це ще було в 2016 році, і цей код не буде працювати коректно зараз, єдине скажу що це були QThread
Join us in social networks

For registered users on the site there is a minimum amount of advertising