Selected Program Examples
Qt+C++ self-built web browser - built on the latest kernel of Chrome blink - improved version
If you need to install the operating environment or remote debugging, see the personal QQ business card at the bottom of the article, and professional and technical personnel will assist remotely!
Preface
This blog is written for <<Qt+C++ self-built web browser - built on the latest kernel of Chrome blink - improved version>>. The code is clean, regular and easy to read. Recommended for learning and application.
Article directory
1. Required tools and software
2. Usage steps
1. Import the library
2. Form interface
3. Running results
3. Online assistance
1. Required tools and software
1. VS, Qt
2. Win10, Win11
2. Usage steps
1. Import the library
The code is as follows (example):
#include "QUrl"
#include <iostream>
#include<string>
#include<QKeyEvent>
#include<QFontDatabase>
#include<QWebEngineSettings>
#include<QWebEngineCookieStore>
2. Form interface
The code is as follows (example):
QT_BEGIN_NAMESPACE
class Ui_MainWindowClass
{
public:
QAction *actionaa;
QWidget *centralWidget;
QGridLayout *gridLayout_3;
QFrame *frame_2;
QGridLayout *gridLayout_2;
QComboBox *comboBox;
QHBoxLayout *horizontalLayout;
QPushButton *pushButton_4;
QPushButton *pushButton_3;
QPushButton *pushButton_2;
QLineEdit *lineEdit;
QPushButton *pushButton;
QPushButton *pushButton_5;
QPushButton *pushButton_6;
QSpacerItem *horizontalSpacer;
QSpacerItem *horizontalSpacer_2;
QLabel *label;
QFrame *frame;
QGridLayout *gridLayout;
QWebEngineView *webEngineView;
QMenuBar *menuBar;
QToolBar *mainToolBar;
QStatusBar *statusBar;
void setupUi(QMainWindow *MainWindowClass)
{
if (MainWindowClass->objectName().isEmpty())
MainWindowClass->setObjectName(QString::fromUtf8("MainWindowClass"));
MainWindowClass->resize(716, 400);
actionaa = new QAction(MainWindowClass);
actionaa->setObjectName(QString::fromUtf8("actionaa"));
QIcon icon;
QString iconThemeName = QString::fromUtf8("dfds");
if (QIcon::hasThemeIcon(iconThemeName)) {
icon = QIcon::fromTheme(iconThemeName);
} else {
icon.addFile(QString::fromUtf8(":/MainWindow/png/\346\211\223\345\274\200\346\226\207\344\273\266\345\244\271-\347\272\242\350\211\262.png"), QSize(), QIcon::Normal, QIcon::Off);
}
actionaa->setIcon(icon);
centralWidget = new QWidget(MainWindowClass);
centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
gridLayout_3 = new QGridLayout(centralWidget);
gridLayout_3->setSpacing(6);
gridLayout_3->setContentsMargins(11, 11, 11, 11);
gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
frame_2 = new QFrame(centralWidget);
frame_2->setObjectName(QString::fromUtf8("frame_2"));
QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
sizePolicy.setHorizontalStretch(1);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(frame_2->sizePolicy().hasHeightForWidth());
frame_2->setSizePolicy(sizePolicy);
QFont font;
font.setFamily(QString::fromUtf8("3ds"));
font.setPointSize(16);
frame_2->setFont(font);
frame_2->setFrameShape(QFrame::Box);
frame_2->setFrameShadow(QFrame::Raised);
gridLayout_2 = new QGridLayout(frame_2);
gridLayout_2->setSpacing(6);
gridLayout_2->setContentsMargins(11, 11, 11, 11);
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
comboBox = new QComboBox(frame_2);
comboBox->addItem(QString());
comboBox->addItem(QString());
comboBox->addItem(QString());
comboBox->setObjectName(QString::fromUtf8("comboBox"));
QFont font1;
font1.setFamily(QString::fromUtf8("\345\276\256\350\275\257\351\233\205\351\273\221"));
font1.setPointSize(12);
comboBox->setFont(font1);
gridLayout_2->addWidget(comboBox, 0, 2, 1, 1);
horizontalLayout = new QHBoxLayout();
horizontalLayout->setSpacing(6);
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
pushButton_4 = new QPushButton(frame_2);
pushButton_4->setObjectName(QString::fromUtf8("pushButton_4"));
horizontalLayout->addWidget(pushButton_4);
pushButton_3 = new QPushButton(frame_2);
pushButton_3->setObjectName(QString::fromUtf8("pushButton_3"));
horizontalLayout->addWidget(pushButton_3);
pushButton_2 = new QPushButton(frame_2);
pushButton_2->setObjectName(QString::fromUtf8("pushButton_2"));
horizontalLayout->addWidget(pushButton_2);
lineEdit = new QLineEdit(frame_2);
lineEdit->setObjectName(QString::fromUtf8("lineEdit"));
QFont font2;
font2.setFamily(QString::fromUtf8("\345\276\256\350\275\257\351\233\205\351\273\221"));
lineEdit->setFont(font2);
horizontalLayout->addWidget(lineEdit);
pushButton = new QPushButton(frame_2);
pushButton->setObjectName(QString::fromUtf8("pushButton"));
QFont font3;
font3.setFamily(QString::fromUtf8("\345\276\256\350\275\257\351\233\205\351\273\221"));
font3.setPointSize(16);
pushButton->setFont(font3);
horizontalLayout->addWidget(pushButton);
pushButton_5 = new QPushButton(frame_2);
pushButton_5->setObjectName(QString::fromUtf8("pushButton_5"));
pushButton_5->setFont(font2);
horizontalLayout->addWidget(pushButton_5);
pushButton_6 = new QPushButton(frame_2);
pushButton_6->setObjectName(QString::fromUtf8("pushButton_6"));
pushButton_6->setFont(font2);
horizontalLayout->addWidget(pushButton_6);
horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
horizontalLayout->addItem(horizontalSpacer);
gridLayout_2->addLayout(horizontalLayout, 0, 0, 1, 1);
horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout_2->addItem(horizontalSpacer_2, 0, 1, 1, 1);
label = new QLabel(frame_2);
label->setObjectName(QString::fromUtf8("label"));
label->setFont(font2);
gridLayout_2->addWidget(label, 0, 3, 1, 1);
gridLayout_3->addWidget(frame_2, 0, 0, 1, 1);
frame = new QFrame(centralWidget);
frame->setObjectName(QString::fromUtf8("frame"));
QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Preferred);
sizePolicy1.setHorizontalStretch(0);
sizePolicy1.setVerticalStretch(6);
sizePolicy1.setHeightForWidth(frame->sizePolicy().hasHeightForWidth());
frame->setSizePolicy(sizePolicy1);
frame->setFrameShape(QFrame::Box);
frame->setFrameShadow(QFrame::Raised);
gridLayout = new QGridLayout(frame);
gridLayout->setSpacing(5);
gridLayout->setContentsMargins(11, 11, 11, 11);
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
gridLayout->setContentsMargins(0, 0, 0, 0);
webEngineView = new QWebEngineView(frame);
webEngineView->setObjectName(QString::fromUtf8("webEngineView"));
webEngineView->setUrl(QUrl(QString::fromUtf8("about:blank")));
gridLayout->addWidget(webEngineView, 0, 0, 1, 1);
gridLayout_3->addWidget(frame, 1, 0, 1, 1);
mainToolBar->addAction(actionaa);
mainToolBar->addSeparator();
retranslateUi(MainWindowClass);
QMetaObject::connectSlotsByName(MainWindowClass);
} // setupUi
void retranslateUi(QMainWindow *MainWindowClass)
{
MainWindowClass->setWindowTitle(QCoreApplication::translate("MainWindowClass", "MainWindow", nullptr));
actionaa->setText(QCoreApplication::translate("MainWindowClass", "aa", nullptr));
#if QT_CONFIG(shortcut)
actionaa->setShortcut(QCoreApplication::translate("MainWindowClass", "Ctrl+O", nullptr));
#endif // QT_CONFIG(shortcut)
comboBox->setItemText(0, QString());
comboBox->setItemText(1, QCoreApplication::translate("MainWindowClass", "www.baidu.com", nullptr));
comboBox->setItemText(2, QCoreApplication::translate("MainWindowClass", "www.csdn.net", nullptr));
};
namespace Ui {
class MainWindowClass: public Ui_MainWindowClass {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_MAINWINDOW_H
3. The running results are as follows
3. Online assistance:
If you need to install the operating environment or remote debugging, please see your personal QQ business card at the bottom of the article for remote assistance from professional technicians!
1) Remote installation and running environment, code debugging
2) Qt, C++, Python entry guide
3) Interface beautification
4) Software production
Current article link: https://blog.csdn.net/alicema1111/article/details/132666851
Recommended articles by bloggers: python face recognition counting people qt form-CSDN blog
Blogger recommended article: Python Yolov5 flame smoke recognition source code sharing-CSDN Blog
Personal blog homepage: alicema1111's blog_CSDN blog-Python, C++, web blogger
Click here for all blogger articles: https://blog.csdn.net/alicema1111?type=blog