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

企信网全国北京seo网络优化招聘网

企信网全国,北京seo网络优化招聘网,网站建设ppt模板下载,设计一个网站先做哪些构造Step0、实现思路 想到的思路有两种: 1、使用 QT 的状态机模式,参考官网文档,这个模式的解耦最佳 2、使用原生 Wigets,将窗口设置为透明无框,循环播放桌面宠物的状态 本文采用第二种思路,实现一个极简版…

Step0、实现思路

想到的思路有两种:

1、使用 QT 的状态机模式,参考官网文档,这个模式的解耦最佳

2、使用原生 Wigets,将窗口设置为透明无框,循环播放桌面宠物的状态

本文采用第二种思路,实现一个极简版示例。

Step1、新建 Qt Wigets Application

Step2、设置透明背景与鼠标事件

修改 widget.h 头文件,

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();
protected:void mousePressEvent(QMouseEvent *event); // 鼠标点击事件void mouseMoveEvent(QMouseEvent *event); // 鼠标移动事件void paintEvent(QPaintEvent *); // 绘画事件
protected:QPoint pos;
private:Ui::Widget *ui;
};
#endif // WIDGET_H

修改 widget.cpp,

#include "widget.h"
#include "ui_widget.h"
#include <qpainter.h>
#include <QMouseEvent>
#include <QPaintEvent>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 设置窗口无边框并且透明背景this->setWindowFlag(Qt::FramelessWindowHint);this->setAttribute(Qt::WA_TranslucentBackground);this->setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint);
}Widget::~Widget()
{delete ui;
}void Widget::mousePressEvent(QMouseEvent* ev)
{if(ev->button()==Qt::LeftButton){pos=ev->pos();}
}void Widget::mouseMoveEvent(QMouseEvent*ev)
{if(ev->buttons()==Qt::LeftButton){int x,y;x=ev->pos().x()-pos.x();y=ev->pos().y()-pos.y();this->move(this->x()+x,this->y()+y);}
}void Widget::paintEvent(QPaintEvent *)
{QPainter painter(this);QPixmap pixmap;pixmap.load("../MyPet/image/pikakun.png");painter.drawPixmap(0, 0, 128, 128, pixmap);
}

调整窗口大小,

Step3、编译打包

编译运行,

打包部署,

# linux操作系统下的QT打包部署工具
官网 https://gitcode.net/mirrors/probonopd/linuxdeployqt下载地址 https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage# 赋权,重命名
chmod +x linuxdeployqt-continuous-x86_64.AppImage
sudo mv linuxdeployqt-continuous-x86_64.AppImage linuxdeployqt
sudo mv linuxdeployqt /usr/local/bin
linuxdeployqt --version# 配置系统变量
# 例如,QT 安装地址为 /home/sam/MyWorkspace/qt-everywhere-src-6.0.0/qtbase/bin/qmake# 修改文件 ~/.bashrc
vim ~/.bashrc
# add qt env
export PATH=/home/sam/MyWorkspace/qt-everywhere-src-6.0.0/qtbase/bin:$PATH
export LIB_PATH=/home/sam/MyWorkspace/qt-everywhere-src-6.0.0/qtbase/lib:$LIB_PATH
export PLUGIN_PATH=/home/sam/MyWorkspace/qt-everywhere-src-6.0.0/qtbase/plugins:$PLUGIN_PATH
export QML2_PATH=/home/sam/MyWorkspace/qt-everywhere-src-6.0.0/qtbase/qml:$QML2_PATH# 刷新配置
source ~/.bashrc# 查看 qmake 是否生效
qmake -v# QT 打包发布 Release 版本的可执行文件 MyPet# MyPet 直接运行是报错的,需要 linuxdeployqt 打包依赖
linuxdeployqt MyPet -appimage# Windows 自带 windeployqt.exe

Windows 下注意一个坑,要打开 QT 命令行,并且在 windeployqt.exe 的根目录下执行打包,否则会出现依赖打包遗漏的情况,

注意,需要将对应的图片资源放到打包文件夹下,图片资源对应代码中的相对路径/绝对路径,否则在其他相同操作系统的电脑上会找不到图片。

http://www.hrbkazy.com/news/23541.html

相关文章:

  • 响应式网站什么用成都网站建设软件
  • ucloud网站开发google搜索首页
  • 学做外挂上什么网站高端网站定制
  • 模板建站难度大黑马培训是正规学校吗
  • 谷歌独立站建站公司全国各城市疫情搜索高峰进度
  • 如何在搜索中找到自己做的网站什么是营销
  • 机械设备网站源码中文域名交易网站
  • 网站建设 站内页面连接seo推广主要做什么的
  • 东莞 网站 建设 雕塑新手怎么学电商运营
  • 专业微网站建设公司首选公司哪家好搜索引擎优化的简称
  • 南阳seo网站排名简单的网站建设
  • 青岛做网站的关键词排名优化流程
  • 网站开发平台是什么企业网页
  • 做网站开发赚钱吗百度电视剧风云榜
  • 外贸网站如何引流下载百度极速版
  • 抖音代运营工作怎么样seo免费软件
  • 做微课的网站有哪些什么软件可以优化关键词
  • 专业网站建设顾问建立网站的基本流程
  • 永兴县网站建设专业百度免费
  • 柴油网站怎么做网站搜什么关键词好
  • 自己做手机网站东莞seo外包
  • 国家企业信用信息公示系统官网查询seo网址超级外链工具
  • 荆州网站建设兼职排行榜
  • 佛山网站建设咨询全网最全搜索引擎app
  • 网站设计做哪些准备西安网站搭建
  • 苏州专业网站建设设计公司排名百度开户联系方式
  • 营销型网站带来seo网站关键词优化排名
  • 做外汇网站福州网站seo公司
  • 上海网站设计开发公司网站一级域名和二级域名
  • app建设网站深圳新闻今日最新