使用QT实现一个简单的网页浏览器

预期功能:输入网址按下回车键或者单击按钮,显示网页,有刷新网页的功能。

1、新建项目

使用的是QT的webengine

windows系统的话编译器一定要使用MSVC,我这里用的是MSVC2017,GCC是不行的

新项目我命名为QT_browser

修改.pro文件第一行为

QT       += core gui webenginewidgets

2、双击mainwindow.ui进行界面设计

一共需要四种元素:TextLabel,Frame ,lineEdit,两个pushButton

这四种控件修改名称如下

windowtitle修改成你想要的浏览器的名字

3、代码部分

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QWebEngineView>
#include <QStackedLayout>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:
    void on_pushButton_go_clicked();

    void on_pushButton_refresh_clicked();

    void on_adressEdit_returnPressed();

private:
    Ui::MainWindow *ui;
    QWebEngineView *m_webView;
};

#endif // MAINWINDOW_H

main.cpp

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    m_webView = new QWebEngineView(this);
    QStackedLayout *layout =new QStackedLayout(ui->frame);
    ui->frame->setLayout(layout);
    layout->addWidget(m_webView);
    QString fst = "https://";
    ui->adressEdit->setText(fst);

}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_go_clicked()
{
    QString url = ui->adressEdit->text();

       if (!url.isEmpty())
       {
           m_webView->load(url);

       }
}

void MainWindow::on_pushButton_refresh_clicked()
{
    m_webView->reload();
}

void MainWindow::on_adressEdit_returnPressed()
{
    QString url = ui->adressEdit->text();

       if (!url.isEmpty())
       {
           m_webView->load(url);

       }
}


4、单击运行按钮

输入网址bing.com并按回车

功能实现

以上。

相关推荐

  1. 使用GPT实现一个简单网站

    2024-01-26 22:44:01       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-26 22:44:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-26 22:44:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-26 22:44:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-26 22:44:01       18 阅读

热门阅读

  1. 69.x 的平方根(力扣LeetCode)

    2024-01-26 22:44:01       29 阅读
  2. mysql sql查询

    2024-01-26 22:44:01       39 阅读
  3. 学习 canvas标签 这一篇文章足以

    2024-01-26 22:44:01       23 阅读
  4. Git的常用命令

    2024-01-26 22:44:01       36 阅读
  5. JVM实战(33)——内存溢出之内存使用率过高

    2024-01-26 22:44:01       39 阅读