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

贵州省住房和城乡建设局网站南宁网站seo大概多少钱

贵州省住房和城乡建设局网站,南宁网站seo大概多少钱,wordpress完整虚拟资源下载类源码,网页设计师培训大全文章目录前言一、资源文件的添加二、初始化窗口三、重写paintEvent函数实现窗口重绘四、重写QMouseEvent相关函数实现不规则窗口的移动及关闭五、demo完整代码六、下载链接总结前言 本文实现了Qt下显示两个不规则形状的窗口demo#xff0c;其中有Qt的窗口对话框和QPaintEvent… 文章目录前言一、资源文件的添加二、初始化窗口三、重写paintEvent函数实现窗口重绘四、重写QMouseEvent相关函数实现不规则窗口的移动及关闭五、demo完整代码六、下载链接总结前言 本文实现了Qt下显示两个不规则形状的窗口demo其中有Qt的窗口对话框和QPaintEvent及QMouseEvent的简单使用这里将相关内容展示出来以便大家学习如有错误之处欢迎大家批评指正。 项目效果 提示以下是本篇文章正文内容下面案例可供参考 一、资源文件的添加 首先要准备好透明背景的图片之后行成的窗口就是你的图片的形状在本文的demo中有将图片添加为资源文件添加资源文件的步骤在我以前写的文章有详细描述读者可自行查看一Qt实现自定义控件的两种方式—提升法不添加资源文件的话注意图片的输入路径就行 二、初始化窗口 这里进行窗口的初始化其中主要的函数是setMask()可以通过F1来查看该函数详细信息 void Dialog::initWidget() {//保持顶部窗口this-setWindowFlags(this-windowFlags() | Qt::WindowStaysOnTopHint);QPixmap pix;pix.load(:/photo/flower.png,0,Qt::AvoidDither); //如果没有将图片添加为资源文件此处路径更改为完整路径resize(pix.size());setMask(QBitmap(pix.mask())); //设置透明setAttribute(Qt::WA_TranslucentBackground); //去除毛边//实例化对象myLL new MyLL(); }三、重写paintEvent函数实现窗口重绘 void Dialog::paintEvent(QPaintEvent *event) {//qDebug()event:event;QPainter painter(this);painter.drawPixmap(rect(),QPixmap(:/photo/flower.png),QRect()); }四、重写QMouseEvent相关函数实现不规则窗口的移动及关闭 void Dialog::mousePressEvent(QMouseEvent *event) {if(event-button() Qt::LeftButton){startPoint event-globalPos() - frameGeometry().topLeft();event-accept();}if(event-button() Qt::RightButton){myLL-show();}if(event-button() Qt::MidButton){//关闭全部窗口myLL-close();this-close();} }void Dialog::mouseMoveEvent(QMouseEvent *event) {if(event-buttons() Qt::LeftButton){move(event-globalPos() - startPoint);event-accept();} }五、demo完整代码 1.MyPhoto.pro QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11DEFINES QT_DEPRECATED_WARNINGS#设置生成名称及图标 RC_ICONS ll.ico TARGET lingSOURCES \main.cpp \dialog.cpp \myll.cppHEADERS \dialog.h \myll.hFORMS \dialog.ui \myll.ui# Default rules for deployment. qnx: target.path /tmp/$${TARGET}/bin else: unix:!android: target.path /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS targetRESOURCES \photo.qrc#全局忽略编译警告QMAKE_CXXFLAGS QMAKE_CXXFLAGS -Wno-unused-function #未使用的函数 QMAKE_CXXFLAGS -Wno-unused-parameter #设置了但未使用的参数 QMAKE_CXXFLAGS -Wno-comment #注释使用不规范 QMAKE_CXXFLAGS -Wno-sequence-point #如出现ii这类代码则报警告 2.main.cpp #include dialog.h #include QApplicationint main(int argc, char *argv[]) {QApplication a(argc, argv);Dialog w;if(w.keepHappy()){w.show();}return a.exec(); }3.dialog.h #ifndef DIALOG_H #define DIALOG_H#include QDialog #include QMessageBox #include myll.hQT_BEGIN_NAMESPACE namespace Ui { class Dialog; } QT_END_NAMESPACEclass Dialog : public QDialog {Q_OBJECTpublic:Dialog(QWidget *parent nullptr);~Dialog();void initWidget();bool keepHappy();protected:void paintEvent(QPaintEvent *event);void mousePressEvent(QMouseEvent *event);void mouseMoveEvent(QMouseEvent *event);private:Ui::Dialog *ui;QPoint startPoint;MyLL *myLL; }; #endif // DIALOG_H4.dialog.cpp #include dialog.h #include ui_dialog.hDialog::Dialog(QWidget *parent): QDialog(parent), ui(new Ui::Dialog) {ui-setupUi(this);this-initWidget(); }Dialog::~Dialog() {delete myLL;delete ui; }void Dialog::initWidget() {//保持顶部窗口this-setWindowFlags(this-windowFlags() | Qt::WindowStaysOnTopHint);QPixmap pix;pix.load(:/photo/flower.png,0,Qt::AvoidDither); //如果没有将图片添加为资源文件此处路径更改为完整路径resize(pix.size());setMask(QBitmap(pix.mask())); //设置透明setAttribute(Qt::WA_TranslucentBackground); //去除毛边//实例化对象myLL new MyLL(); }//main函数调用 bool Dialog::keepHappy() {const QMessageBox::StandardButton ret QMessageBox::information(this,Nice to meet you!!!Love Lingling,Be confident and happy every day! Send you a flower flower ~~~\n每天都要自信且开心喔送你一朵小花花~,QMessageBox::Yes | QMessageBox::No);if(ret QMessageBox::Yes){return true;}else{keepHappy();}return true; }void Dialog::paintEvent(QPaintEvent *event) {//qDebug()event:event;QPainter painter(this);painter.drawPixmap(rect(),QPixmap(:/photo/flower.png),QRect()); }void Dialog::mousePressEvent(QMouseEvent *event) {if(event-button() Qt::LeftButton){startPoint event-globalPos() - frameGeometry().topLeft();event-accept();}if(event-button() Qt::RightButton){myLL-show();}if(event-button() Qt::MidButton){//关闭全部窗口myLL-close();this-close();} }void Dialog::mouseMoveEvent(QMouseEvent *event) {if(event-buttons() Qt::LeftButton){move(event-globalPos() - startPoint);event-accept();} }5.myll.h #ifndef MYLL_H #define MYLL_H#include QWidget #include QMouseEvent #include QPainter #include QPixmap #include QBitmap #include QDebugnamespace Ui { class MyLL; }class MyLL : public QWidget {Q_OBJECTpublic:explicit MyLL(QWidget *parent nullptr);~MyLL();void initWidget();protected:void paintEvent(QPaintEvent *event);void mousePressEvent(QMouseEvent *event);void mouseMoveEvent(QMouseEvent *event);private:Ui::MyLL *ui;QPoint startPoint; }; #endif // MYLL_H6.myll.cpp #include myll.h #include ui_myll.hMyLL::MyLL(QWidget *parent) :QWidget(parent),ui(new Ui::MyLL) {ui-setupUi(this);this-initWidget(); }MyLL::~MyLL() {delete ui; }void MyLL::initWidget() {this-setWindowFlags(this-windowFlags() | Qt::WindowStaysOnTopHint);QPixmap pix;pix.load(:/photo/ll.png,0,Qt::AvoidDither);resize(pix.size());setMask(QBitmap(pix.mask())); //设置透明//setAttribute(Qt::WA_TranslucentBackground); //去除毛边 }void MyLL::paintEvent(QPaintEvent *event) {//qDebug()event:event;QPainter painter(this);painter.drawPixmap(rect(),QPixmap(:/photo/ll.png),QRect()); }void MyLL::mousePressEvent(QMouseEvent *event) {if(event-button() Qt::LeftButton){startPoint event-globalPos() - frameGeometry().topLeft();event-accept();}if(event-button() Qt::RightButton){this-close();} }void MyLL::mouseMoveEvent(QMouseEvent *event) {if(event-buttons() Qt::LeftButton){move(event-globalPos() - startPoint);event-accept();} }7.dialog.ui新建项目时选择了QDialog作为Base class 8.myll.ui新建Qt设计师界面类时选择了Widget作为界面模板 六、下载链接 demo百度网盘链接https://pan.baidu.com/s/1_v1lC1unytYTEituAJJ8iA 提取码xxcj – 总结 这里是一个简单的Qt开发demo所用到的一些知识点都在文章中添加了注释另外所用的图片需要透明的这样才能实现不规则窗口显示界面显示的文字读者可自定义不要在意我写的那些哈~PS:本demo是我用来哄对象开心的送了一朵花和她喜欢的皮卡丘嘿嘿嘿 hello 共同学习共同进步如果还有相关问题可在评论区留言进行讨论。 参考博客Qt学习笔记——不规则窗口自定义形状窗口
http://www.hkea.cn/news/14456215/

相关文章:

  • 如何建立自己的微网站网站建设 阿里
  • 是在百度中建设网站?视频链接下载到本地
  • 网站建设创新互联备案网站服务内容
  • 湖州网站建设培训教程淄博手机网站开发公司
  • 做网站费用上海百度指数分析官网
  • 网站建设_制作_设计点样用外网访问自己做的网站
  • 网站关键词是指什么企业管理咨询服务机构
  • 做婚恋网站投入多少钱网站建设div设置圆角
  • 自己建设网站步骤做问卷比较好的网站
  • 免费网站最新域名义乌商城网站开发
  • 东莞市机电工程学校网站建设与管理数据中心网络架构
  • 常见的网站结构类型万网网站模板
  • 株洲建设局网站设计邦官网
  • 网站设计原型图dw做单页网站教程
  • 哪里建网站最好泉州做网站工资
  • 网络公司 网站源码空调安装工做网站
  • 做电影网站需要多打了服务器滑板网页网站设计
  • 民营医院网站建设深度苏州自媒体公司
  • 怎么模仿网站做ppt网站模板 整站源码下载
  • 最大郑州网站建设公司wordpress更改主题的响应
  • 成都 企业网站设计资阳市建设局网站
  • 学生版 建设网站软件下载wordpress的函数
  • 网站界面设计的主要内容建设部网站有项目经理资质查询系统
  • 无锡公司网站设计医疗网站的建设设计要注意什么
  • 上海网站设计工具做招聘网站经营范围
  • 织梦小说网站源wap站自己做的网站是怎么赚钱吗
  • 网站开发原则安庆跨境电商建站哪家好
  • 网站开发与网站运营招聘网站怎么做营销
  • php 网站发布网站开发与设计实训报告1000字
  • 邯郸网站建wordpress php文件上传