Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Трёп _ А что если создать список вопросов, на которые не были найдены ответы

Автор: SABROG 21.2.2009, 0:46

Мысль такая. Что если создать antiFAQ по Qt. Список популярных вопросов, на которые небыли найдены ответы. Это те вопросы, которые Qt не может решить стандартными методами. Например такие как:
- нельзя получить список всех коннектов
- нельзя получить список всех QObject'ов в программе
- невозможен поиск окон чужих программ
- невозможна отправка сигналов в чужие окна
- стили Windows9*, WindowsXP, WindowsVista в *nix'ах работать не будут. Также как и стили WindowsXP не будут работать в Windows9*, стиль WindowsVista в WindowsXP. Стиль MacOS также не будет работать в Windows.
- нельзя получить доступ к списку оборудования, серийные номера, размер ОЗУ, тип процессора, свободное место на винчестере или любом другом устройстве, серийный номер BIOS и т.д. Работать с COM'портом.
- Qt не умеет работать с протоколами ARP, ICMP, IPX. Т.к. не умеет создавать Raw Socket'ы. Т.е. аналог PING'у не написать.
- нельзя получить состояния клавиш CapsLock, NumLock, ScrollLock
- среди виджетов Qt нет адресной строки наподобии Vista/KDE4


[Решено в Qt4.5.0]- в Qt нельзя сделать кроссплатформенно окно частично полу-прозрачным (либо полностью полу-прозрачное либо никак)

- в Qt нет готовых классов для отправки, принятия почты. Для работы с протоколами SMTP/POP3.
В общем то, что Qt пока не может или не будет мочь вообще.
- нет стандартных средств, чтобы проверить запущена ли уже копия приложения.
- в Qt нет отдельного метода, чтобы расположить окно по центру экрана
- нет классов, чтобы воспроизводить Flash анимацию
- нет возможности читать или редактировать реестр, т.к. в других ОС его не существует.

Я конечно понимаю, что для большинства из нас самонадеянно вносить подобные вопросы, т.к. мы и сами до конца можем не понимать возможности Qt. Но если будет находиться человек, который видит вопиющую несправедливость, он всегда сможет нас поправить :)

Автор: ViGOur 21.2.2009, 12:48

Логично, думаю такое нужно.
А что и правда ICMP пакеты в нельзя собирать в Qt? :)

Автор: SABROG 21.2.2009, 15:49

Цитата(ViGOur @ 21.2.2009, 12:48) *
А что и правда ICMP пакеты в нельзя собирать в Qt?

На самом деле эта задача даже для API ОС не тривиальна, т.к. ICMP по стеку протоколов находится ниже TCP,UDP.
Не умеет Qt работать с Raw Socket'ами. Отчасти потому, что для этого нужны админские права. Т.ч. на Qt нельзя пинговать в том виде к которому мы привыкли.

Автор: himikk 17.3.2009, 15:33

Цитата(SABROG @ 21.2.2009, 2:46) *
Мысль такая. Что если создать antiFAQ по Qt. Список популярных вопросов, на которые небыли найдены ответы. Это те вопросы, которые Qt не может решить стандартными методами. Например такие как:

- среди виджетов Qt нет адресной строки наподобии Vista/KDE4

Зачем ? Что в ней такого замечательного ?

Цитата(SABROG @ 21.2.2009, 2:46) *
- нет стандартных средств, чтобы проверить запущена ли уже копия приложения.

Неужели для всего обязательно должны быть стандартные средства ?
Главное, что есть средства для реализации недостающего функционала :rolleyes:
http://wiki.qtcentre.org/index.php?title=SingleApplication

Цитата(SABROG @ 21.2.2009, 2:46) *
- нет возможности читать или редактировать реестр, т.к. в других ОС его не существует.

http://doc.qtsoftware.com/4.5/qsettings.html
раздел Accessing the Windows Registry Directly

Автор: Litkevich Yuriy 17.3.2009, 16:10

Цитата(SABROG @ 21.2.2009, 3:46) *
- в Qt нельзя сделать кроссплатформенно окно частично полу-прозрачным (либо полностью полу-прозрачное либо никак)
и уже не актуально :)
дальше больше ...

Автор: SABROG 17.3.2009, 16:13

Это точно. К тому же у меня нет возможности отредактировать первый пост. Форум не дает.

Автор: maxvanceffer 2.11.2009, 9:57

Еще в qt любимой нету регистрации быстрых клавиш глобально. Конечно есть библиотека Qxt но это эе не сама qt, да коечто в программе подпровлять нужно для этого.
Так же нет вешать хуки в системе, хотя может это слишком тривиально для кроссплатформенной библиотеки. Т.к. в каждой системе это уж совсем по разному.

Автор: weldpua2008 5.2.2010, 15:57

Цитата(SABROG @ 21.2.2009, 14:49) *
Цитата(ViGOur @ 21.2.2009, 12:48) *
А что и правда ICMP пакеты в нельзя собирать в Qt?

На самом деле эта задача даже для API ОС не тривиальна, т.к. ICMP по стеку протоколов находится ниже TCP,UDP.
Не умеет Qt работать с Raw Socket'ами. Отчасти потому, что для этого нужны админские права. Т.ч. на Qt нельзя пинговать в том виде к которому мы привыкли.

Тоесть нет готового варианта реализации ping средствами qt4?
подскажите тогда другую функцию что бы забирать результат выполнения system("ping ya.ru");

Автор: Litkevich Yuriy 5.2.2010, 16:33

Цитата(weldpua2008 @ 5.2.2010, 18:57) *
функцию что бы забирать результат выполнения system("ping ya.ru");
Внешние процессы можно запускать и получать их отклик с помощью класса QProcess

П.С. эта тема - своеобразная копилка, здесь конкретная проблема не обсуждается.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)