Работа с WinAPI в QT(изменение title bar)
Здравствуйте. Я хочу в своей программе изменить цвет title bar. Так как в qt нет не каких функций связаных с этим я искал в интернете ответ на мой вопрос и там советовали функцию SetSysColors(). Но у меня по каким-то непонятным не работает данная функция. Возможно кто-то знает как решить данную проблему. И еще. Если юзать setWindowFlags(Qt::FramelessWindowHint) , то исчезают границы для изменения размера окна. Можно ли как то юзать этот флаг но вернуть эти границы либо используя setWindowFlags(Qt::CustomizeWindowHint) закрасить title bar(как на скрине)
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
Г
- Геній
- Sept. 13, 2024, 10:46 p.m.
C++ - Test 001. The first program and data types
- Result:66points,
- Rating points-1
t
- torgaev_2024
- Sept. 8, 2024, 4:20 p.m.
C++ - Test 001. The first program and data types
- Result:33points,
- Rating points-10
Last comments
How to Copy Files in Linux Задумывались когда-нибудь о том, как мы привыкли доверять свои вещи службам грузоперевозок? Сейчас такие услуги стали неотъемлемой частью нашей жизни, особенно когда речь идет о переездах между …
ВР
How to Copy Files in Linux Screenshot_20240802-065123.png
Влад РусоковAug. 2, 2024, 11:47 a.m.
QML - Lesson 016. SQLite database and the working with it in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Qt Linux - Lesson 001. Autorun Qt application under Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Lesson 007. Working with ICMP Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий КононенкоFeb. 5, 2024, 12:50 p.m.
Now discuss on the forum
Evgenii LegotckoiJune 25, 2024, 1:11 a.m.
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
BlinCTJune 25, 2024, 11 a.m.
BlinCTMay 5, 2024, 3:46 p.m.
Evgenii LegotckoiMay 3, 2024, 12:07 a.m.
По поводу границ изменения окна с Qt::FramelessWindowHint можете посмотреть вот эту статью
Я там описывал пример подобной кастомизации, чтобы ещё и размеры изменять, а по поводу WinAPI, я не уверен, что это будет наиболее подходящий подход, во-первых трудно будет докопаться до этой чвсти через WinAPI, а во вторых некроссплатформенно будет, если не заюзаете идиому Pimpl , но это несколько сложнее будет. На данный момент, как мне кажется вам это не нужно.
Но если мысли какие-то будут по поводу SetSysColors я напишу, если честно, лично я не использовал это.
Хорошо, я попробуй по вашей статье.
Попробовал я по статье. Оно хоть и работает но с багами). Особенно когда выделил на QGraphicsScene предмет и уводишь просто курсор за границы программы то программа скачет за курсором куда-то. Единственный вариант это изменить цвет titlebar. Но как мало кто знает.
А курсор скачет из-за этой строчки : this->setMouseTracking(true);
А если ее убрать то не будет работать изменение размера окна.
Ну если честно, когда я запустил ваш пример у себя первый раз, вообще можно сказать, что ничего не работало )))
Тот пример базовый, естественно, что в некоторых случаях что-то может не работать, нужно отслеживать такие случаи и исправлять ситуацию, возможно требуется где-то запретить некоторый функционал по отслеживанию движения мыши, а где-то переработаь
Лол а что у меня не работало?) Просто я работаю в команде и у всех все работает). Запретить флаг по перемещению или выделению итема на сцене? А Вы так и не нашли способ изменения цвета title bar?
Ну когда я это дело запустил под Kde Neon вело себя это дело достаточно неадекватно и регулярно крашилось при попытке создания объектов графика очевидно... Я не стал особо заморачиваться, поскольку решил, что вы всё-таки не на всех платформах тестируете.
Насчёт title bar - нет, да и некогда было, у меня сейчас на повестке дня рефакторинг сайта, да и модуль дописываю ))
Кароче, я сам сделал изменение размера). Чуть помучался, но за то все нормально работает. Если хотите код могу скинуть.
Почему бы и нет)) Можете приложить к сообщению ту часть кода ))