Advanced search

QtQt WinAPI - Lesson 010. How to check if file writing is prohibited by another process.

May 11, 2020, 4:38 a.m.

WinAPI, Qt, QFile

Surprisingly, in the course of my professional activity, I stumbled upon one interesting feature of QFile. With it, you can check whether it is possible to read or write information to a file. But at the same time, QFile ignores read and write permissions of the file if the file is opened by several instances of the same program. This means that if the file is opened in another instance of the program, then QFile will determine this file as readable or writable, and will also be able to write to the file successfully.

March 14, 2019, 11:44 p.m.
Charl'z Grin

QtКак открыть презентацию на C++?

Добрый день, возник вопрос: можно ли как нибудь прочитать ppt, PPTX файл на Qt? Задача: просто открыть презентацию, ее слайды отрисовать на виджет, с сохранениями гифок и того что там будет. Может быть у PowerPoint какой-то API в наличии , который позволяет так сделать? Либо может быть через A…

Oct. 17, 2018, 11:33 a.m.
Allyans .

C++Работа с WinAPI в QT(изменение title bar)

Здравствуйте. Я хочу в своей программе изменить цвет title bar. Так как в qt нет не каких функций связаных с этим я искал в интернете ответ на мой вопрос и там советовали функцию SetSysColors().  Но у меня по каким-то непонятным не работает данная функция. Возможно кто-то знает как решить данн…

Feb. 25, 2018, 12:30 a.m.
Glep Fingerman

C++Qt управление окнами других программ

Здравствуйте, интересует каким образом можно управлять окнами других программ также легко как это можно делать в Delphi.

QtQt - WinAPI. How to show a running application on top of your application

Oct. 31, 2017, 3:27 a.m.

WinAPI, Qt, winId

There was at me somehow a problem to operate applications - the services written on Qt, from application - a kernel written also on Qt. And, if the service application is not running, then it should be started, and if it is running, its window should be brought to the foreground. QProcess is used to invoke applications.

Nov. 9, 2016, 9:45 p.m.
Andrey Hudz

QtВопрос по логике кода из [Как написать игру на Qt — Урок 1. Управление объектом]

Добрый день.
Недавно прочел данный текст [Как написать игру на Qt — Урок 1. Управление объектом].

Просматривая код класса Triangle у меня, как у начинающего программиста, возник вопрос, а именно:
Зачем была придумана схема с вызовом слота void slotGameTimer(); по таймеру, …

QtQt WinAPI - Lesson 009. SetWindowsHookEx - Logging mouse events via WinAPI

June 13, 2016, 12:35 p.m.

Hook, mouse, Qt, SetWindowsHookEx, WinAPI

Functional WinAPI allows by using hooks to monitor system events, such as mouse movement and clicks. This functionality based on callback functions, so if you want to use the Qt system of signaling and slots , you will need to pass one of the methods as a callback to a function for registering callback on a Windows system. But the method must be static, so you need to develop the class as a Singleton.


This function is used to register an event handler in the chain hook-handlers to monitor certain events in Windows

HHOOK WINAPI SetWindowsHookEx(
  _In_ int       idHook,
  _In_ HOOKPROC  lpfn,
  _In_ HINSTANCE hMod,
  _In_ DWORD     dwThreadId

QtQt WinAPI - Lesson 003. How to use windeployqt for collect all DLL?

March 7, 2016, 9:52 a.m.

windows, windeployqt, DLL, WinAPI, Qt

In one of the lessons of the Qt it has already been shown how to collect all the DLL, used in the project for the training program for use on other PCs running Microsoft Windows, and now propose to get acquainted with the utility that comes with Qt. This utility is called windeployqt and is a console application, which usually comes bundled with compiler MinGW or MSVC .

To use windeployqt must run from the console, passing as an argument the path to the compiled executable file. Then windeployqt gather all the necessary libraries in the folder where the executable file is located.

The windeployqt utility located in the bin folder, which in turn is located in the folder of the compiler for Qt. Thus, the path to the folder can be as follows:

  • MinGW - C:\QT\5.5\mingw492_32\bin\windeployqt.exe
  • MSVC - C:\QT\5.5\msvc2013\bin\windeployqt.exe

QtQt WinAPI - Lesson 006. Parsing QKeySequence for RegisterHotKey in WinAPI

QKeySequence very different from the sequence of hotkeys in WinAPI . QKeySequence actually is a string in which the separator hotkeys are "+" sign, as well as the sequence ", " , if several sequences. Then, as in WinAPI there are modifiers Alt, Ctrl, Shift, which are represented by an unsigned integer type, and hot key, which is represented by the code keypad.

Let us research the option, when there is one sequence in QKeySequence and it is necessary to register as a global hotkey in WinAPI. To this end, we agree that QKeySequence as as a modifier will have only the Ctrl, Alt, Shift , and as hot keys one of the letters of the English alphabet.

Next to parse QKeySequence write two functions:

  • unsigned int winKeyMod(QKeySequence) - which will return an integer combination of modifiers;
  • char winHotKey(QKetSequence) -which will return the code of the hot key.

Modifiers Alt, Ctrl and Shift option in the bit values have 0b00000001 , 0b00000010 and 0b00000100 respectively, so the logical OR any number of data addition will give the required number of combinations. Hence it is necessary in the method winKeyMod , identify modifiers of the sequence and if any one of the modifier to be added that the method returns.

QtQt WinAPI - Lesson 005. Global HotKey WinAPI in Qt5

To work with global HotKey in Qt5 , there is a virtual method nativeEvent . This method replaces the methods winEvent , x11Event , macEvent of Qt 4.8 .

The especiality in the HotKey to Qt is that if the window is not in focus, that is, it is, for example, will be minimized to the system tray, then registered QShortcut simply will not work. It is therefore necessary to work with the global events from the operating system, that is, go to the realization of the platform-specific code in the application to Qt.


In this example Let us examine the option of working with WinAPI. For this we use the function RegisterHotKey.

BOOL WINAPI RegisterHotKey(
  _In_opt_ HWND hWnd,
  _In_     int  id,
  _In_     UINT fsModifiers,
  _In_     UINT vk
How to become an author?

Contribute to the evolution of the EVILEG community.

Learn how to become a site author.

Learn it

Good day, Dear Users!!!

I am Evgenii Legotckoi, developer of EVILEG. And it is my hobby project, which helps to learn programming another programmers and developers

If the site helped you, and you want also support the development of the site, than you can donate by following ways


Let me recommend you the excellent hosting on which EVILEG is located.

For many years, Timeweb has been proving his stability.

For projects on Django I recommend VDS hosting

View Hosting Timeweb
June 5, 2020, 11:20 p.m.

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:60points,
  • Rating points-1
June 5, 2020, 11:15 p.m.

C++ - Test 001. The first program and data types

  • Result:53points,
  • Rating points-4
June 5, 2020, 4:47 p.m.

C++ - Test 005. Structures and Classes

  • Result:83points,
  • Rating points4
Last comments
June 5, 2020, 10:52 a.m.

Распознавание изображений на Python с помощью TensorFlow и Keras

Огромное спасибо за метериал, по-больше бы подобных статей (с подробным описанием работы и примерами применения) на тему современных технологий. Вопрос поразмышлять. На текущий момент реал…
June 5, 2020, 1:39 a.m.
Evgenij Legotskoj

Qt/C++ - Tutorial 091. How to write a custom delegate controlling the highlighting of a row in a table

По-моему, смысла в этом нет особого. Если делегат будет игнорировать настройки таблицы, то это приведёт ещё к большему непониманию, что вообще происходит, для программиста, который после вас буд…
June 5, 2020, 1:34 a.m.

Qt/C++ - Tutorial 091. How to write a custom delegate controlling the highlighting of a row in a table

Сижу, размышляю: можно ли переписать делегата так, чтобы независимо от настроек строк выделялись строки?
June 5, 2020, 1:31 a.m.
Evgenij Legotskoj

Qt/C++ - Tutorial 091. How to write a custom delegate controlling the highlighting of a row in a table

Понятно. Я не обратил внимания на то, что там было в старом коде по настройкам строк :)
Now discuss on the forum
June 6, 2020, 1:54 a.m.

Qt/C++ Определение положения курсора над действие(кнопкой) в QToolBar

Доброго дня. Возник вопрос - как можно определить что курсор находится над определенным действием(кнопкой) в qtoolbar ? mainwindow.cpp MainWindow::MainWi…
June 6, 2020, 12:45 a.m.

Qt/C++ особенности QProxyStyle

Да, Вы правы. Код был скопирован с сайта (уже не помню с какого), но решил пойти по пути более легком. Пришлось переписать - кому интересно: использовал stackedWidget для пе…
June 5, 2020, 11:08 p.m.

Посоветуйте новичку (базы данных и Qt, что учить)

Блин, а я недавно купил Шлее Qt 5.10 :( С детства хотел стать программистом, баловался Паскалем, писал простенькие программки на Delphi, создавал движок на php, изучал C (забросил и перешел на п…
June 5, 2020, 1:09 p.m.

QPlainTextEdit настройка цвета фона

Вечер добрый. Пытаюсь настроить цвет фона QPlainTextEdit следующим образом: CodeEditor::CodeEditor(QWidget *parent) : QPlainTextEdit(parent){ ... QPalette::ColorRole role = bac…
June 5, 2020, 6:13 a.m.

Фильтр для QtableView sql

Добрый день. Для такой фильтрации необходимо использовать QSortFilterProxyModel. В оффдоках есть хороший пример.
© EVILEG 2015-2020
Recommend hosting TIMEWEB