конролы на разных ОС
От: maks1180  
Дата: 10.10.21 12:34
Оценка:
Заметил, что QT рисует контролы (например кнопку) в зависимости от ОС, т.е. на Win10 прямоугольная, а на Win7 скруглённая.
Так как Spy++ показывает, что эта кнопка не является дочерним окном, то видимо QT рисует кнопку сам и ещё по разному в зависимости от ОС и параметров темы ОС ?
Зачем такая сложность, QT рисует сам, да и ещё пытаться нарисовать так что-бы выглядел как родной конрол ?
В чём минус создавать родной контрол на винде ?
===============================================
(реклама, удалена модератором)
Отредактировано 10.10.2021 12:35 maks1180 . Предыдущая версия .
Re: конролы на разных ОС
От: Senyai Россия http://www.arseniy.net
Дата: 10.10.21 12:43
Оценка:
M>Зачем такая сложность, QT рисует сам, да и ещё пытаться нарисовать так что-бы выглядел как родной конрол ?
M>В чём минус создавать родной контрол на винде ?
Так проще сделать кроссплатформеный код с поддержкой стилей.
Не бойтесь совершенства. Вам его не достичь. © Сальвадор Дали
Re[2]: конролы на разных ОС
От: maks1180  
Дата: 10.10.21 12:50
Оценка:
S>Так проще сделать кроссплатформеный код с поддержкой стилей.

Спасибо, можно ли в QT задать стиль например Win7, что-бы на всех ОС она рисовала кнопку как на Win7 ? Как это сделать ?
===============================================
(реклама, удалена модератором)
Re[3]: конролы на разных ОС
От: Senyai Россия http://www.arseniy.net
Дата: 10.10.21 13:13
Оценка: 2 (1)
Здравствуйте, maks1180, Вы писали:

S>>Так проще сделать кроссплатформеный код с поддержкой стилей.


M>Спасибо, можно ли в QT задать стиль например Win7, что-бы на всех ОС она рисовала кнопку как на Win7 ? Как это сделать ?


Запустите Qt приложение с аргументами "-style windows". Чтобы увидеть все доступные стили, исполните "qDebug() << QStyleFactory::keys().join(" ");". Но лучше не менять стили, пользователям не понравится приложение, сильно отличающееся от остальных.
Не бойтесь совершенства. Вам его не достичь. © Сальвадор Дали
Re[4]: конролы на разных ОС
От: rudzuk  
Дата: 11.10.21 07:53
Оценка:
Здравствуйте, Senyai, Вы писали:

S>Но лучше не менять стили, пользователям не понравится приложение, сильно отличающееся от остальных.


Каким антивирусом пользуетесь? Сильно он похож на системное окружение?
avalon/3.0.0
Re[5]: конролы на разных ОС
От: Senyai Россия http://www.arseniy.net
Дата: 11.10.21 10:29
Оценка:
Здравствуйте, rudzuk, Вы писали:

R>Здравствуйте, Senyai, Вы писали:


S>>Но лучше не менять стили, пользователям не понравится приложение, сильно отличающееся от остальных.


R>Каким антивирусом пользуетесь? Сильно он похож на системное окружение?


Антивирусом не пользуюсь. Подозреваю, что они все аляповатые. Но это их специфика, нужно, чтобы вирусу было сложно подделаться под антивирус.
Не бойтесь совершенства. Вам его не достичь. © Сальвадор Дали
Re: конролы на разных ОС
От: VVV Россия  
Дата: 22.10.21 21:21
Оценка:
Здравствуйте, maks1180, Вы писали:

M>Зачем такая сложность, QT рисует сам, да и ещё пытаться нарисовать так что-бы выглядел как родной конрол ?


Возможно, QT просто зовёт системную функцию и получает отрисовку автоматом:

BOOL DrawFrameControl(
       HDC    ,
       LPRECT ,
       UINT   ,
       UINT   
);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.