简介
平时生活学习中我们会经常登录各种网站,比如看电影,看视频学习,找资料等等。有时想找到一个靠谱的网站,花了很长时间也找不到。我自己收集了很多好的网站,主要是找资源的,然后我做了一个导航app软件,用于一键直达。也许你会认为现在的浏览器已经具备了收藏网页的功能,但是我觉得不是很方便,比如我换个电脑,又得重写去收藏一遍,但是有了这个app就方便了,换个电脑直接拷贝过去就行了。下面我介绍一下我做的这款导航APP。
百度连接:https://pan.baidu.com/s/1qqWLHY-hkgkT2xG4M180zw
提取码:1234
展示
软件界面
说明
- UI设计
这个软件界面是我自己设计的,目前只有一种配色,后期考虑增加皮肤更换功能。 - 功能区划分
-
搜索引擎
最上面的一栏我设计的是放置搜索引擎的入口,并按照我个人使用习惯排放了次序,因为百度体验不好,我放到了靠后一些,但是文心一言我最近感觉很不错,推荐使用。
-
资源搜索
主要是找资源的一些网站,啥都,不一一介绍。
-
影视网站
这个是我自己收藏的一些免费看电影网站,资源很丰富。
-
原理
- 原理:按钮触发执行:QDesktopServices::openUrl(“网址”)
- 核心代码:
- mian_gui.h
#ifndef MAIN_GUI_H
#define MAIN_GUI_H
#include <QMainWindow>
#include <QMap>
#include <QButtonGroup>
#include "help_dialog.h"
QT_BEGIN_NAMESPACE
namespace Ui { class main_gui; }
QT_END_NAMESPACE
class main_gui : public QMainWindow
{
Q_OBJECT
public:
main_gui(QWidget *parent = nullptr);
~main_gui();
help_dialog mhelp_dlg;
void initMap(void);
void helpMsg(void);
private slots:
void onBtnClicked1(int _id);
void onBtnClicked2(int _id);
void onBtnClicked3(int _id);
private:
Ui::main_gui *ui;
QMap<QString,QString> net_map1;
QMap<QString,QString> net_map2;
QMap<QString,QString> net_map3;
QButtonGroup *btnGroup1;
QButtonGroup *btnGroup2;
QButtonGroup *btnGroup3;
};
#endif // MAIN_GUI_H
- mian_gui.c
#include "main_gui.h"
#include "ui_main_gui.h"
#include "style_qss.h"
#include <QInputDialog>
#include <QFileDialog>
#include <QDateTime>
#include <QDesktopServices>
#include <QButtonGroup>
#include <QUrl>
#include <QDebug>
uint32_t timestamp; //时间戳
main_gui::main_gui(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::main_gui)
{
ui->setupUi(this);
this->setWindowFlags(Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_TranslucentBackground);//背景透明
initMap();
//创建一个按钮组
btnGroup1=new QButtonGroup(this);
btnGroup2=new QButtonGroup(this);
btnGroup3=new QButtonGroup(this);
//找到界面里面的所有按钮,并添加到List里面
QList<QPushButton*>list1=ui->groupBox1->findChildren<QPushButton*>();
QList<QPushButton*>list2=ui->groupBox2->findChildren<QPushButton*>();
QList<QPushButton*>list3=ui->groupBox3->findChildren<QPushButton*>();
//设置groupbox样式
ui->groupBox1->setStyleSheet(groupbox_style);
ui->groupBox2->setStyleSheet(groupbox_style);
ui->groupBox3->setStyleSheet(groupbox_style);
//把List里的按钮添加到按钮组里面
for (int i=0;i<list1.size();i++) {
btnGroup1->addButton(list1.at(i),i);
list1.at(i)->setFixedSize(200,30);
list1.at(i)->setStyleSheet(btn_style4);
}
for (int i=0;i<list2.size();i++) {
btnGroup2->addButton(list2.at(i),i);
list2.at(i)->setFixedSize(200,30);
list2.at(i)->setStyleSheet(btn_style4);
}
for (int i=0;i<list3.size();i++) {
btnGroup3->addButton(list3.at(i),i);
list3.at(i)->setFixedSize(200,30);
list3.at(i)->setStyleSheet(btn_style4);
}
//连接信号与槽
connect(btnGroup1,SIGNAL(buttonClicked(int)),this,SLOT(onBtnClicked1(int)));
connect(btnGroup2,SIGNAL(buttonClicked(int)),this,SLOT(onBtnClicked2(int)));
connect(btnGroup3,SIGNAL(buttonClicked(int)),this,SLOT(onBtnClicked3(int)));
}
main_gui::~main_gui()
{
delete ui;
delete btnGroup1;
delete btnGroup2;
delete btnGroup3;
}
//打开帮助
void main_gui::helpMsg()
{
mhelp_dlg.show();
}
void main_gui::onBtnClicked1(int _id)
{
QString key= btnGroup1->button(_id)->text();
QDesktopServices::openUrl(QUrl(net_map1.value(key)));
}
void main_gui::onBtnClicked2(int _id)
{
QString key= btnGroup2->button(_id)->text();
if(false==QDesktopServices::openUrl(QUrl(net_map2.value(key))))
{
helpMsg();
}
}
void main_gui::onBtnClicked3(int _id)
{
//qDebug()<<"_id:"<<_id;
QString key= btnGroup3->button(_id)->text();
if(false == QDesktopServices::openUrl(QUrl(net_map3.value(key))))
{
helpMsg();
}
}
下载地址
百度连接:https://pan.baidu.com/s/1qqWLHY-hkgkT2xG4M180zw
提取码:1234