Russian Qt Forum

Qt => Общие вопросы => Тема начата: mnv от Май 03, 2007, 15:41



Название: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: mnv от Май 03, 2007, 15:41
Подскажите, как в программе на qt 3.3.6 открыть страничку (например, http://ya.ru) в браузере?


Название: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: Вудруф от Май 04, 2007, 08:02
См. исходники assistant, там есть такая возможность. И поиск по форуму может помочь.


Название: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: mnv от Май 04, 2007, 12:08
Вы предлагаете воспользоваться helpBrowser? Надо бы открывать страничку в стандартном браузере..

На форуме нашел такие способы:
-----
вот один
myProcess->execute("start index.html");
-----
вот второй
QString program = "echo index.html | opera.exe";
QProcess *myProcess = new QProcess(this);
myProcess->execute(program);
-----
но это не работает под 3.3.6 :-(

Может быть можно открыть html страничку как-то иначе?


Название: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: Alex Custov от Май 04, 2007, 21:13
м.б.
Код:

        proc = new QProcess( this );
        proc->addArgument( "iexplore" );
        proc->addArgument( "http://ya.ru" );

        if (!proc->start())
       {
            // error handling
        }


Название: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: Вудруф от Май 05, 2007, 08:49
В таком случае это только для Windows, и совсем даже не в "стандартном браузере".


Название: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: mnv от Май 05, 2007, 08:49
Действительно, видимо, от этого варианта надо исходить. Только если используется по умолчанию opera, например?

Цитата: "Alex_X"

Код:

        proc->addArgument( "iexplore" );


Как узнать, какой браузер в системе используется по умолчанию?


Название: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: SABROG от Май 05, 2007, 11:08
В винде на этот случай есть API ShellExecute(), т.е. можно открыть любой файл у которого расширение сопоставлено приложению. Т.к. Qt кроссовый, то врятли в наборе библиотеки будет что-то подобное, если на других платформах нет аналога ShellExecute...


Название: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: Tonal от Май 05, 2007, 12:48
см http://lists.trolltech.com/qt-interest/2005-03/thread01357-0.html


Название: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: Вудруф от Май 05, 2007, 19:15
http://prog.org.ru/forum/htopic_2190_html+%C2%D2%C1%D5%DA%C5%D2.html
В итоге я так и сделал - взял функцию из assistant'а, немного подправил и всё заработало.


Название: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: mnv от Май 05, 2007, 20:30
А!!! Ясно! Большое спасибо! Наконец-то допер о чем речь :-) Странно, что стандартной такой функции нет, но зато порадовал вариант реализации!


Название: Re: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: kolob от Февраль 10, 2011, 20:15
Как в 3й Qt это сделать, запустить браузер который по умолчанию.


Название: Re: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: serg_hd от Февраль 11, 2011, 00:42
http://prog.org.ru/forum/htopic_2190_html+%C2%D2%C1%D5%DA%C5%D2.html
В итоге я так и сделал - взял функцию из assistant'а, немного подправил и всё заработало.
у кого-нибудь эта ссылка открывается? У меня "This webpage is not available". И вообще, как она может открываться, если стандартный путь топика имеет вид http://www.prog.org.ru/topic_5122_0.html .Где вы такие адреса берёте?


Название: Re: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: BlackTass от Февраль 11, 2011, 01:05
serg_hd, этой ссылке уже почти 4 года. За это время много воды утекло.


Название: Re: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: serg_hd от Февраль 11, 2011, 01:12
serg_hd, этой ссылке уже почти 4 года. За это время много воды утекло.
ага, не обратил внимания


Название: Re: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: kolob от Февраль 11, 2011, 15:48
а кто знает где теперь этот топик можно прочитать?


Название: Re: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: GreatSnake от Февраль 11, 2011, 17:14
http://www.prog.org.ru/topic_2190_0.html
Мог бы и сам догадаться  ;)

Но если нужно более кросс-платформенное решение, я бы на твоём месте взял бы все qdesktopservices*.cpp из Qt4.7.x.


Название: Re: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: kolob от Февраль 11, 2011, 18:43
В Qt3 нет этого.


Название: Re: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: GreatSnake от Февраль 11, 2011, 18:46
Цитировать
В Qt3 нет этого.
Чего нет?


Название: Re: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: kolob от Февраль 11, 2011, 19:06
Класса qdesktopservices


Название: Re: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: GreatSnake от Февраль 11, 2011, 19:09
Внимательно читаем ещё раз
qdesktopservices*.cpp из Qt4.7.x


Название: Re: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: kolob от Февраль 11, 2011, 19:30
Аа, понятно. GreatSnake  Спасибо большое. Я 4ю еще не очень понимаю.
Я вообще сделал через API. Хотел сделать через QProcess, но не знаю как узнать браузер по умолчанию.


Название: Re: Как в qt 3.3.6 открыть страничку в браузере?
Отправлено: GreatSnake от Февраль 11, 2011, 21:30
Цитировать
Я 4ю еще не очень понимаю.
Тебе предлагается взять готовое решение из исходников, а не городить огород.
Для этого понимание Qt4 не требуется.