当前位置: 首页 > news >正文

如何制作一款资源网站app

简介

平时生活学习中我们会经常登录各种网站,比如看电影,看视频学习,找资料等等。有时想找到一个靠谱的网站,花了很长时间也找不到。我自己收集了很多好的网站,主要是找资源的,然后我做了一个导航app软件,用于一键直达。也许你会认为现在的浏览器已经具备了收藏网页的功能,但是我觉得不是很方便,比如我换个电脑,又得重写去收藏一遍,但是有了这个app就方便了,换个电脑直接拷贝过去就行了。下面我介绍一下我做的这款导航APP。
百度连接:https://pan.baidu.com/s/1qqWLHY-hkgkT2xG4M180zw
提取码:1234

展示

在这里插入图片描述软件界面

说明

  • UI设计
    这个软件界面是我自己设计的,目前只有一种配色,后期考虑增加皮肤更换功能。
  • 功能区划分
    1. 搜索引擎
      最上面的一栏我设计的是放置搜索引擎的入口,并按照我个人使用习惯排放了次序,因为百度体验不好,我放到了靠后一些,但是文心一言我最近感觉很不错,推荐使用。
      在这里插入图片描述

    2. 资源搜索
      主要是找资源的一些网站,啥都,不一一介绍。
      在这里插入图片描述

    3. 影视网站
      这个是我自己收藏的一些免费看电影网站,资源很丰富。
      在这里插入图片描述

原理

  • 原理:按钮触发执行: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_NAMESPACEclass main_gui : public QMainWindow
{Q_OBJECTpublic: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

http://www.lryc.cn/news/214821.html

相关文章:

  • 解决在Win7下运行一些老游戏花屏或色彩异常问题的方法
  • 使用vue3+vite+elctron构建小项目介绍Electron进程间通信
  • 家政APP开发服务同城预约维修接单管理系统软件小程序
  • NOIP2023模拟8联测29 C. 蛋糕
  • echarts的图表立体感——实现立体柱状图和立体饼图的详细教程
  • 解决VSCode使用SSH远程连接时无法指定用户名的问题
  • Vue Camera是什么,如何用
  • ORANGE室内高尔夫—韩国室内模拟高尔夫原装进口真实体验身临其境
  • 【观察】从口袋到云端全景式AI创新,联想“全栈智能”再升级
  • linux 实用命令搜集 —— 筑梦之路
  • 08-Docker-网络管理
  • 【VS Code】使用 VS Code 登陆远程服务器上的 Docker 容器
  • 用Python做数据分析之数据统计
  • 智慧工地建造平台源码、智慧化工地云平台源码
  • Spring Cloud Alibaba中Nacos的安装(Windows平台)以及服务的发现
  • QR码应用实战:Spring Boot与ZXing完美结合
  • Leetcode刷题详解——两两交换链表中的节点
  • Openssl数据安全传输平台019:外联接口类的封装以及动态库的制作 - Bug未解决,感觉不是代码的问题
  • YOLO目标检测——安全帽佩戴检测数据集【含对应voc、coco和yolo三种格式标签】
  • P4345 [SHOI2015] 超能粒子炮·改 题解---------Lucas定理
  • http代理和ip代理的区别,代理IP带来了哪些好处?
  • 浅谈电动汽车充电桩检测技术的实现
  • 20 分钟搭建一个串流服务器
  • Android ActivityLifecycleCallback使用
  • 力扣labuladong——一刷day14
  • 循环神经网络(RNN)与长短期记忆网络(LSTM)
  • ArxDbgDocLockWrite 类简介
  • 【教3妹学编辑-算法题】环和杆
  • 解决 eslint 的 Parsing error: Unexpected token 错误
  • VR全景技术在文化展示与传播中有哪些应用?