Russian Qt Forum
Ноябрь 24, 2024, 09:56
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Запуск браузера из программы.
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Запуск браузера из программы. (Прочитано 13557 раз)
Jkc
Гость
Запуск браузера из программы.
«
:
Март 18, 2005, 18:37 »
Вот какой вопрос. Нужн по нахатию кнопки запускать дефолтовый браузер с введённой определённой URL строкой, в Win32Api это выглядит так.
void CRamblDlg::OnButton1()
{
::ShellExecute(NULL, "open",
http://prog.org.ru/
,NULL,
NULL, SW_SHOWNORMAL);
}
Как это сделать в приложении которое пишеться на Qt ?
Записан
Keiko
Гость
Запуск браузера из программы.
«
Ответ #1 :
Март 18, 2005, 20:01 »
точно также ?
Записан
Jkc
Гость
Запуск браузера из программы.
«
Ответ #2 :
Март 20, 2005, 20:51 »
#ifdef __cplusplus
extern "C" {
#include <windows.h>
}
#include <qstring.h>
#endif /* __cplusplus */
void Form1::ShellExec()
{
QString str = "
www.prog.org
";
ShellExecute(NULL, "open", str , NULL, NULL, SW_SHOWNORMAL);
}
Если вместо open поставить NULL то пишет тоже самое но уже про третий параметр.
Выводит следующее сообщение об ошибке.
ShellExecuteW cannot conwert parametr 2 from "char[5] ' to 'LPTSTR'
Types pointed to are unrelated; convertion requires reinterpret_cast,
style cast or function-style cast
Записан
MIB
Гость
Запуск браузера из программы.
«
Ответ #3 :
Март 20, 2005, 21:39 »
Попробуй сделать со вторым параметром следующее
QString("open").ucs2()
Тоесть
::ShellExecute(NULL, QString("open").ucs2(), str.ucs2(), NULL, NULL, SW_SHOWNORNAL)
Слушай а что не используеш вместо ShellExecute(), QProcess?
Записан
Jkc
Гость
Запуск браузера из программы.
«
Ответ #4 :
Март 21, 2005, 14:45 »
Так я не против QProcess, просто я недавно с Qt начал работать
скиньте пожалуйста ссылку на пример что бы взглянуть.
Записан
MIB
Гость
Запуск браузера из программы.
«
Ответ #5 :
Март 21, 2005, 22:45 »
Вот пример коммандного шела из книги М.Шлее "Qt. Профессиональное программирование на C++" с использованием класса QProcess
class Shell : public QVBox {
Q_OBJECT
private:
QProcess* m_process;
QLineEdit* m_txtCommand;
QTextEdit* m_txtDisplay;
public:
// ------------------------------------------------------------------
Shell(QWidget* pwgt = 0, const char* pszName = 0)
: QVBox(pwgt, pszName)
{
m_process = new QProcess(this);
m_txtDisplay = new QTextEdit(this);
QHBox* phbx = new QHBox(this);
QLabel* plbl = new QLabel("&Command:", phbx);
m_txtCommand = new QLineEdit("dir", phbx);
plbl->setBuddy(m_txtCommand);
QPushButton* pcmd = new QPushButton("&Enter", phbx);
connect(m_process,
SIGNAL(readyReadStdout()),
SLOT(slotDataOnStdout())
);
connect(m_txtCommand,
SIGNAL(returnPressed()),
SLOT(slotReturnPressed())
);
connect(pcmd, SIGNAL(clicked()), SLOT(slotReturnPressed()));
}
public slots:
// ------------------------------------------------------------------
void slotDataOnStdout()
{
while (m_process->canReadLineStdout()) {
m_txtDisplay->append(m_process->readLineStdout() + "\n");
}
}
// ------------------------------------------------------------------
void slotReturnPressed()
{
m_process->clearArguments();
#ifdef Q_WS_WIN
m_process->addArgument("cmd.exe /C " + m_txtCommand->text());
#else
QStringList list = QStringList::split(" ", m_txtCommand->text());
QStringList::iterator it;
for (it = list.begin(); it != list.end(); ++it) {
m_process->addArgument(*it);
}
#endif
if (!m_process->start()) {
m_txtDisplay->append("Error!");
}
}
};
Записан
Keiko
Гость
Запуск браузера из программы.
«
Ответ #6 :
Март 21, 2005, 23:42 »
Цитата: "Jkc"
Так я не против QProcess, просто я недавно с Qt начал работать
скиньте пожалуйста ссылку на пример что бы взглянуть.
Дык читай qt/examples и assistant
Записан
Perchilla
Гость
Запуск браузера из программы.
«
Ответ #7 :
Март 22, 2005, 23:19 »
Цитата: "MIB"
Вот пример коммандного шела из книги М.Шлее "Qt. Профессиональное программирование на C++" с использованием класса QProcess
слушай, а у тебя есть эта книженция в электронном виде?
Записан
MIB
Гость
Запуск браузера из программы.
«
Ответ #8 :
Март 23, 2005, 00:14 »
Только в бумажном
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Запуск браузера из программы.
«
Ответ #9 :
Март 25, 2005, 14:57 »
дык поскань, распознай - и в Нет !!
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
Zmey
Гость
Запуск браузера из программы.
«
Ответ #10 :
Март 29, 2005, 13:09 »
Сканируй и клади - сами распознаем
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...