| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Как совмещается [QT] и WinAPI под Windows |
| Автор: XProgammer 9.12.2011, 11:10 |
| Вопрос от чайника. Есть ли в QT функции для работы с окнами Windows, например слежение за окнами, хуки, для работы с системными настройками и железом, или нужно подключать WinAPI? Если нужно, непонятно как перехватывать соответсвующие Windows-сообщения, например WH_CALLWNDPROC для хуков. Какой тут механизм? |
| Автор: bsa 9.12.2011, 11:19 |
| примеры необходимого пожалуйста. Просто есть многое. Можно перехватить события клавиш, можно события изменения размера окна... Конкретней. И что ты понимаешь под "хуками"? |
| Автор: XProgammer 9.12.2011, 13:03 |
| Например нужно перехватить событие изменения активного окна. Или наподобие перехвата сообщения WM_DRAWCLIPBOARD в winap событие изменения содержимого буфера Есть для этого набор функций в qt? Или работать с компортом, лучше WINAPI использовать? чтоб не было тормозов?? если программа только под винду. |
| Автор: XProgammer 9.12.2011, 18:02 |
| ок, спасибо за развернутый ответ, немного разобрался, просто собрался переходить с MFC на QT под windows, хочу застраховаться что проблем больших не будет, и все возможности winapi при надобности останутся |
| Автор: spyswamp 9.12.2011, 18:06 |
| А каковы будут основные плюсы перехода на Qt? |
| Автор: XProgammer 9.12.2011, 19:04 |
| QT это абсолютно другой образ мышления, приятно иметь дело, простота, понятность, и логичность, сделано для человека. Когда писали MFC то судя по всему жестко привязались к WinAPI, и, что получилось, неудобно использовать. Это с моей точки зрения)) |
| Автор: spyswamp 9.12.2011, 20:13 |
| QT - это QuickTime. Кстати, для MFC уже давно существует крутая и развиваемая надстройка от BCGSoft. С ней работать достаточно приятно. Единственный, на мой взгляд, минус - цена. Т.е. подходит только для корпоративного использования. |
| Автор: XProgammer 9.12.2011, 21:04 |
| спасибо, посмотрю)) |
| Автор: bsa 11.12.2011, 19:03 | ||
Все возможности останутся. Вот только далеко не всегда они нужны... Просто когда переходишь на Qt надо максимально забыть о существовании нативных средств системы. И только в случае отсутствия в Qt необходимого функционала прибегать к использованию API системы. Причем, желательно это завернуть так, чтобы в основном коде программы не API никак не проявлялся. Qt же кроссплатформенная. И рано или поздно может возникнуть соблазн собрать программу под другие ОС. А если у тебя код пронизан WinAPI, то править придется много, так что станет лень. |
| Автор: XProgammer 14.12.2011, 00:56 |
| спасибо за советы! может и придется перейти на другую ос. |
| Автор: spyswamp 15.12.2011, 16:40 |
| Я б на твоем месте уже давно перешел и забыл про венду. |
| Автор: XProgammer 15.12.2011, 20:16 |
| ну я пишу программы для заводов, в случае чего, винду легко переставить человеку, далекому от компутеров, а про линь например многие и не слышали) |
| Автор: bsa 15.12.2011, 20:47 | ||
Супер! Фраза из разряда "спичку зажечь может каждый, а о тринитротолуоле многие и не слышали"... Так вот, современный Linux ставится не сложнее, чем Windows. Причем, некоторые диструбутивы дают возможность побаловаться с ними до установки. Если системный администратор не знает о Linux'е, то гнать его надо с завода - он не компетентен в своей области. Если на заводе каждый сотрудник может переустановить систему - гнать надо начальника IT отдела. |
| Автор: spyswamp 15.12.2011, 21:56 |
| Это все утопия. Сотрудники провайдеров не могут настроить интернет на линуксе. Хотя в той же Убунте это делается в 4 раза быстрее, чем в винде, т.к. нет тонны модальных окон и закладок. :( |
| Автор: XProgammer 15.12.2011, 22:10 | ||
ну да! есть правда в твоих словах)) программы пишу для цеха, управление оборудованием, никаких тонких настроек или интернета там в принципе не надо)) |
| Автор: bsa 16.12.2011, 10:32 | ||
Ты разницу между "сисадмин" и "сотрудник тех поддержки" знаешь? Я общался с админом провайдера, и он мне рассказал, кто работает в техподдержке. Там работают простые "опытные пользователи" - например, студенты. Их задача решать наиболее популярные проблемы. |
| Автор: spyswamp 16.12.2011, 16:27 |
| bsa, а где в моем сообщении ты увидел словосочетание "сотрудник тех поддержки"? |
| Автор: bsa 16.12.2011, 17:16 |
| Т.е. ты с системным администратором общался? Просто есть очень серьезные сомнения на этот счет. Потому что у всех провайдеров системы на базе *nix - винда нагрузку не выдержит... |