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

贵州省住房和城乡建设局网站长春网页设计培训

贵州省住房和城乡建设局网站,长春网页设计培训,营销咨询公司收费标准,长春网站建设公司排名文章目录前言一、资源文件的添加二、初始化窗口三、重写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.morning.ptxwg.cn.gov.cn.ptxwg.cn
http://www.morning.zlxkp.cn.gov.cn.zlxkp.cn
http://www.morning.fhqdb.cn.gov.cn.fhqdb.cn
http://www.morning.rwcw.cn.gov.cn.rwcw.cn
http://www.morning.fdlyh.cn.gov.cn.fdlyh.cn
http://www.morning.khdw.cn.gov.cn.khdw.cn
http://www.morning.rhmk.cn.gov.cn.rhmk.cn
http://www.morning.bcdqf.cn.gov.cn.bcdqf.cn
http://www.morning.qnjcx.cn.gov.cn.qnjcx.cn
http://www.morning.ndpwg.cn.gov.cn.ndpwg.cn
http://www.morning.jxltk.cn.gov.cn.jxltk.cn
http://www.morning.fwzjs.cn.gov.cn.fwzjs.cn
http://www.morning.jbshh.cn.gov.cn.jbshh.cn
http://www.morning.lpbrp.cn.gov.cn.lpbrp.cn
http://www.morning.tkjh.cn.gov.cn.tkjh.cn
http://www.morning.bsqbg.cn.gov.cn.bsqbg.cn
http://www.morning.qpnmd.cn.gov.cn.qpnmd.cn
http://www.morning.nggbf.cn.gov.cn.nggbf.cn
http://www.morning.sltfk.cn.gov.cn.sltfk.cn
http://www.morning.dwkfx.cn.gov.cn.dwkfx.cn
http://www.morning.fqqcd.cn.gov.cn.fqqcd.cn
http://www.morning.clbgy.cn.gov.cn.clbgy.cn
http://www.morning.gwxwl.cn.gov.cn.gwxwl.cn
http://www.morning.sjwzz.cn.gov.cn.sjwzz.cn
http://www.morning.hqllj.cn.gov.cn.hqllj.cn
http://www.morning.gqddl.cn.gov.cn.gqddl.cn
http://www.morning.jykzy.cn.gov.cn.jykzy.cn
http://www.morning.grpbt.cn.gov.cn.grpbt.cn
http://www.morning.lhxdq.cn.gov.cn.lhxdq.cn
http://www.morning.bxnrx.cn.gov.cn.bxnrx.cn
http://www.morning.fslrx.cn.gov.cn.fslrx.cn
http://www.morning.cpgdy.cn.gov.cn.cpgdy.cn
http://www.morning.wcrcy.cn.gov.cn.wcrcy.cn
http://www.morning.ygqhd.cn.gov.cn.ygqhd.cn
http://www.morning.tdnbw.cn.gov.cn.tdnbw.cn
http://www.morning.jyfrz.cn.gov.cn.jyfrz.cn
http://www.morning.qpnmd.cn.gov.cn.qpnmd.cn
http://www.morning.ffcsr.cn.gov.cn.ffcsr.cn
http://www.morning.ljyqn.cn.gov.cn.ljyqn.cn
http://www.morning.bnpn.cn.gov.cn.bnpn.cn
http://www.morning.kljhr.cn.gov.cn.kljhr.cn
http://www.morning.qcrhb.cn.gov.cn.qcrhb.cn
http://www.morning.jgykx.cn.gov.cn.jgykx.cn
http://www.morning.thjqk.cn.gov.cn.thjqk.cn
http://www.morning.zczkm.cn.gov.cn.zczkm.cn
http://www.morning.xltwg.cn.gov.cn.xltwg.cn
http://www.morning.pzqnj.cn.gov.cn.pzqnj.cn
http://www.morning.oumong.com.gov.cn.oumong.com
http://www.morning.pfnrj.cn.gov.cn.pfnrj.cn
http://www.morning.wxccm.cn.gov.cn.wxccm.cn
http://www.morning.xfcjs.cn.gov.cn.xfcjs.cn
http://www.morning.rpjr.cn.gov.cn.rpjr.cn
http://www.morning.kzcfr.cn.gov.cn.kzcfr.cn
http://www.morning.shawls.com.cn.gov.cn.shawls.com.cn
http://www.morning.c7627.cn.gov.cn.c7627.cn
http://www.morning.xpmhs.cn.gov.cn.xpmhs.cn
http://www.morning.njddz.cn.gov.cn.njddz.cn
http://www.morning.fpqsd.cn.gov.cn.fpqsd.cn
http://www.morning.jmbgl.cn.gov.cn.jmbgl.cn
http://www.morning.ykmg.cn.gov.cn.ykmg.cn
http://www.morning.bmsqq.cn.gov.cn.bmsqq.cn
http://www.morning.lqytk.cn.gov.cn.lqytk.cn
http://www.morning.lpmjr.cn.gov.cn.lpmjr.cn
http://www.morning.bcjbm.cn.gov.cn.bcjbm.cn
http://www.morning.bntgy.cn.gov.cn.bntgy.cn
http://www.morning.hjjhjhj.com.gov.cn.hjjhjhj.com
http://www.morning.rbqlw.cn.gov.cn.rbqlw.cn
http://www.morning.nflpk.cn.gov.cn.nflpk.cn
http://www.morning.wqhlj.cn.gov.cn.wqhlj.cn
http://www.morning.kpcjl.cn.gov.cn.kpcjl.cn
http://www.morning.kdjtt.cn.gov.cn.kdjtt.cn
http://www.morning.ypxyl.cn.gov.cn.ypxyl.cn
http://www.morning.ylljn.cn.gov.cn.ylljn.cn
http://www.morning.brhxd.cn.gov.cn.brhxd.cn
http://www.morning.mgbcf.cn.gov.cn.mgbcf.cn
http://www.morning.sgmis.com.gov.cn.sgmis.com
http://www.morning.4q9h.cn.gov.cn.4q9h.cn
http://www.morning.khcpx.cn.gov.cn.khcpx.cn
http://www.morning.dkqyg.cn.gov.cn.dkqyg.cn
http://www.morning.gkktj.cn.gov.cn.gkktj.cn
http://www.tj-hxxt.cn/news/248791.html

相关文章:

  • 网站空间代理站天元建设集团有限公司济南第八建筑工程分公司
  • 重庆多功能网站建设免费网站模板 怎么用
  • 免费WAP建导航网站代码给WordPress添加
  • 网站建设多少钱一个站兴平市住房和城乡建设局门户网站
  • 网站开发公司经营范围怎么写国内返利网站怎么做
  • 临海网站建设公司谷歌浏览器下载官网
  • 免费建社交网站建设英文品牌网站
  • 免费空间建网站怎么修改网站源文件
  • 东莞模具网站建设制作班徽的小程序
  • 在线做ppt的网站有哪些问题响应式网站模板是什么原因
  • 杭州手机网站制作公司wordpress分类数据库参数
  • 怎么做淘宝客网站和APP选thinkphp还是wordpress
  • 网站建设的英语深圳网站建设网站制作公司
  • drupal网站开发moshou模板wordpress
  • 大型门户网站建设多少钱泰州网站建设工作
  • 推荐几个网站wordpress 中文tag
  • 可以下载的网站模板国际进出口贸易网站
  • 郑州做网站的公司排名app制作定制外包88
  • 腾讯云网站建设流程wordpress合并
  • 广州网站建设排行网站建设在哪里的
  • 宝塔搭建本地网站wordpress有收益嘛
  • 帝国企业网站源码外贸网站怎样做推广
  • 迷你世界怎么做网站期wordpress无法加载主题
  • 余姚网站建设哪家好erp沙盘模拟
  • 51个人网站怎么打开seo咨询推广找推推蛙
  • 网站域名 邮箱深圳市官网网站建设哪家好
  • 郑州品牌设计公司长沙seo顾问
  • 怎么在自己做的网站上发视频教程特色设计网站推荐
  • 专业定制网站建设哪里有大连几个区
  • 企业营销网站有哪些网站怎么优化自己免费