Я начинаю. Я делаю простую программу gui с использованием qt, в которой вы вводите url/website, и эта программа откроет эту веб-страницу в chrome. Я использовал редактирование строки, в котором пользователь вводит url, и я использовал returnPressed()
но проблема в том, что (это может показаться глупым), что я не знаю, как взять вход пользователя и сохранить его в строке, чтобы я мог передать эту строку как параметр chrome.Is im спрашивает что-то неправильно. Также скажите мне как я могу сохранить ввод в txt файл, я знаю, как это сделать в консольной программе. Этот процесс такой же, как и у других, таких как редактирование текста и т.д.
Мой mainwindow.cpp:
QString exeloc = "F:\\Users\\Amol-2\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe";
void MainWindow::on_site_returnPressed()
{
QString site;
getwchar(site);
QString space=" ";
QString result = exeloc + space + site;
QProcess::execute(result);
}
Что я делаю неправильно.
благодаря
QLineEdit
имеет функцию text()
, которая вернет QString
. Таким образом, вы можете сделать что-то вроде этого:
QString site = ui->site->text();
Вам не нужно использовать QProcess
для открытия веб-сайта в браузере. Вы можете использовать статическую функцию QDesktopServices::openUrl
.
Как это:
QString site = ui->site->text();
QUrl url(site);
QDesktopServices::openUrl(url);
Не забудьте включить QDesktopServices
и заголовки QUrl
:
#include <QDesktopServices>
#include <QUrl>
У вас немного неправильный подход, я вижу, откуда вы пришли. Это на самом деле намного проще, чем вы пытаетесь, Qt имеет класс QDesktopServices
который позволяет вам взаимодействовать с различными элементами системы, включая открытые URL-адреса в браузере. Там есть документация.