Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: parabellumQt от Января 13, 2010, 17:06



Название: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: parabellumQt от Января 13, 2010, 17:06
Как из моей программы кликнуть мышкой в фаерфоксе по ссылке? Поясняю - я запускаю маленькую кутэшную прогу, которая:

1. открывает файл в стандартном браузере (например фаерфокс или IE)
2. наводит мышь на ссылку (ссылка располагается в заранее определенном месте в левом углу экрана) и кликает по ней.

Это нужно для того, чтобы по ссылке мы открыли новое окно, которое уже будет в полноэкранном режиме, без лишних панелей (для демонстрационного диска). Ну, а первое окно соотвественно нужно будет закрыть, тоже - программно.


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: zenden от Января 13, 2010, 17:13
звучит как какой-то бред.
Да и зачем тут Qt?


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: majatu от Января 13, 2010, 17:17
я думаю тебе в сторону qhttp смотреть надо (сокеты и нетворкменеджеры), хотя вопрос звучит действительно странно


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: parabellumQt от Января 13, 2010, 17:20
Я понимаю, что это "не элегантно" однако, средствами JavaScript нельзя перевести окно браузера в полноэкранный режим (проверено). Зато можно открыть новое окно из родительского и тогда скрипт будет работать и панели пропадут. Значит нужно кликнуть по ссылке. Приложение пишеться для маленьких детей, т.е. они должны просто вставить диск и все должно запуститься. Вот я и думаю, что можно прогрогу написать... кто подскажет?


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: BlackTass от Января 13, 2010, 17:23
а нужен именно системный браузер? QWebKit не подойдет?
Вообще это делается только нативными средствами либо через яваскрипт, добавленный в этот самый хтмл-файлик. Во втором случае вопрос только в том как закрыть браузер.


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: parabellumQt от Января 13, 2010, 17:27
Браузер конечно может быть любой, но будет ли он работать корректно с флэшками? Тем более, что кликнуть по мышке должна не сама яваскрипт, ибо там будут вылетать всякие предупреждения, а для маленьких детей (возраст до 7 лет) это слишком...


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: ecspertiza от Января 13, 2010, 17:55
Это нужно для того, чтобы по ссылке мы открыли новое окно, которое уже будет в полноэкранном режиме, без лишних панелей (для демонстрационного диска).

Может вообще создать презентацию в  Power Point ? и не будет лишнего гемороя ;)


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: DS_tm от Января 13, 2010, 18:16
Очень круто загнули)
Вообще если это авторан к диску, то есть куча программ, которые делают их.
Если нужно, чтобы браузер был без панелек, переименовываем html в hta.
Ну и третий вариант использовать Qt WebKit, но тогда могут быть проблемы с flash


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: parabellumQt от Января 13, 2010, 18:24
К сожалению .hta может работать только с одной страницей, а там уже есть 45 страниц (яваскрипт + флэш) и проект растет очень быстро... вобщем наверно остановимся пока на QWebKit...
Однако, неужели никак нельзя подвигать мышкой и кликнуть там где я хочу?


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: DS_tm от Января 13, 2010, 18:31
На счет "подвинуть мышкой и кликнуть" средствами Qt слабо себе представлаю, это больше к Windows API.

Если вы там во флеше разбираетесь, ну так сделайте на флексе проэкт. Идеальный вариант, да и java scrpt в ActionScript переписать не сложно, екма как никак.


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: parabellumQt от Января 13, 2010, 18:39
"Code less, sleep more!" наверно один раз двинуть мышь полегче будет чем переписывать проект с одного языка на другой... Как говорил К.Маркс "любая экономия в конечном итоге сводиться к экономии времени". 


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: DS_tm от Января 13, 2010, 19:29
"Code less, sleep more!" наверно один раз двинуть мышь полегче будет чем переписывать проект с одного языка на другой... Как говорил К.Маркс "любая экономия в конечном итоге сводиться к экономии времени". 

Да, времени меньше, но это ведь кастыли, как бы не пришлось вам потом все переписывать, когда проект еще больше разрастется. На ум приходит поговорка "Скупой платит дважды".

А вообще, что Flex, что Flash все равно ActionScript, врядли много времени уйдет на переход.
Да и Flex для того и разрабатывали, чтобы настольные программы писать. Ну вообщем решать всеравно вам...


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: break от Января 13, 2010, 22:07
Цитировать
На счет "подвинуть мышкой и кликнуть" средствами Qt слабо себе представлаю, это больше к Windows API.
Вообще то мышка средствами Qt двигается

Цитировать
To set or get the position of the mouse cursor use the static methods QCursor::pos() and QCursor::setPos().
и это норм. работает, вот только способ у вас точно не правильный... Неужели не проще найти браузер кот. поддерживает много страниц и скрытые панельки - командами из командной строки? Или на крайняк перевести презентацию в pdf или другой формат с гиперссылками?


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: Marat(Qt) от Января 13, 2010, 22:17
Неплохая идея, посмотрел chromium (linux, daily-snapshot), усть вариант:
Код:
chromium-browser --app=URL
     Runs URL in "app mode": with no browser toolbars.
Можно положить хром на диск и запускать его с этим параметром
UPD:
Код:
opera -fullscreen URL
а вот у firefox не знаю как


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: crossly от Января 13, 2010, 23:23
а может все стоит пересмотреть архитектуру... а то костыль на костыле...:)


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: DS_tm от Января 14, 2010, 01:31
Цитировать
На счет "подвинуть мышкой и кликнуть" средствами Qt слабо себе представлаю, это больше к Windows API.
Вообще то мышка средствами Qt двигается

А теперь попробуйте кликнуть в окне другого приложения с помощью Qt


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: break от Января 14, 2010, 01:41
Цитировать
А теперь попробуйте кликнуть в окне другого приложения с помощью Qt
Я утверждал что это возможно? Вроде наоборот предложил использовать другие способы.


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: DS_tm от Января 14, 2010, 01:46
Цитировать
А теперь попробуйте кликнуть в окне другого приложения с помощью Qt
Я утверждал что это возможно? Вроде наоборот предложил использовать другие способы.

Просто вы вырвали фразу из контекста, и написали что мышку двигать можно, а толку от этого, если кликать нельзя, никакого). А по существу, я уже писал, что это кастыль жестокий.


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: break от Января 14, 2010, 02:39
Что оффтоп разводишь?

Из контекста вырвал?
вот исходное сообщение:

Цитировать
На счет "подвинуть мышкой и кликнуть" средствами Qt слабо себе представлаю, это больше к Windows API.

Если вы там во флеше разбираетесь, ну так сделайте на флексе проэкт. Идеальный вариант, да и java scrpt в ActionScript переписать не сложно, екма как никак.

Я не опровергал о кликах - а только написал что двигать ее можно - имейте ввиду сообщения читают новички и не стоит давать неправильную информацию!
А то что вы уже писали про кОстыли - что мне после уже добавить ничего нельзя? Тем более что мои способы не повторяют предложенные вами...


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: Dendy от Января 14, 2010, 03:04
Как 4 предыдущих сообщения помогут автору темы решить проблему? Может они интересны кому-либо кроме вас? Далее - по существу. Остальное - личными сообщениями друг другу.


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: Alex Custov от Января 14, 2010, 03:59
запускальщик (autorun?) напиши на XUL. Там и окно на весь экран откроешь, и компонент браузера вставишь с нужным URL.


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: parabellumQt от Января 14, 2010, 11:29
Уважаемые кутэшники, спасибо Вам всем за участие, однако... решение оказалось очень простым!!!
из командной строки это делается так:
iexplore.exe -k url
и все открывается в полном экране!!!
Тема закрыта.


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: SABROG от Января 14, 2010, 11:45
Уважаемые кутэшники, спасибо Вам всем за участие, однако... решение оказалось очень простым!!!
из командной строки это делается так:
iexplore.exe -k url
и все открывается в полном экране!!!
Тема закрыта.

А я так и не понял при чем тут Qt вообще, если изначально проект пишется на Flash + HTML + JavaScript/ActionScript. Qt'то тут с какого вылез? Я бы понял, если бы речь шла о своей презентации через QGraphicsView.

Если надо переносимое решение, то QWebKit + QMouseEvent (QEvent::MouseButtonPress) + включение Flash плагина, который установлен в системе (ОС)  QWebSettings::PluginsEnabled, для винды будет использоваться один и тот же плагин, который работает и для Firefox, будет работать и в QWebKit - http://doc.trolltech.com/4.5/qtwebkit.html#netscape-plugin-support

Естественно, ничего работать не будет на голой винде без установленного Firefox с Flash плагином.


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: bvn13 от Февраля 01, 2010, 11:59
не хочу быть антирекламщиком, но библа WatiN под C# умеет кликать... и не только кликать... кстати, а есть аналог под Qt?


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: alexman от Марта 08, 2010, 11:08
Плохо програмно мышкой управлять! Для обычного пользователя это смотрится  как вирус!


Название: Re: Как из моей программы кликнуть мышкой в фаерфоксе по ссылке?
Отправлено: gigabyte от Марта 09, 2010, 22:05
не хочу быть антирекламщиком, но библа WatiN под C# умеет кликать... и не только кликать... кстати, а есть аналог под Qt?
Ага еще под Linux и Мак такой же пример приведите пожауйста. а то под винду и методами WinAPI кликнуть можно но мы же их здесь не обсуждаем