当前位置: 首页 > 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.dnsts.com.cn/news/276571.html

相关文章:

  • 重庆专业网站推广报价磁力搜索器
  • 网站建设一年能收入多少钱福建省建设监理公司网站
  • 旅游网站开发 结束语西安商城类网站制作
  • 企业做网站的困惑最新成都双流区娱乐场所关闭
  • 有源码个人网站怎么建立网站建设公开招标
  • 品牌网站建设特色龙华品牌网站建设
  • 合肥做网站价格是多少中小企业网站制作广州网络服务公司找赛合公司
  • 高端网站建设哪里好苍山网站建设
  • 企业网站建设xplogo东软网站建设
  • 写作网站5妙不写就删除wordpress vue 结合
  • 做网站需要的参考文献建什么类型个人网站比较好
  • 网站建设seo 视频怎样设计网站或网页
  • 丽江建设工程信息网站科技网站开发
  • 专业网站建设收费提升网站流量该怎么做
  • 做logo的网站网站开发设计中的收获
  • 网站页头页尾怎样做dedecms 网站地图生成
  • 前端做网站都要做哪些网站的整合
  • 微分销手机网站制作模板王官网登录
  • 腾讯云做视频网站策划的网站
  • 做指甲的网站南宁网站建设 醉懂网络
  • wordpress著名网站Wordpress西联
  • 哪些网站做面试题河北软件开发网站建设
  • 免费h5旅游网站模板昆明专业网站建设模板
  • 怎么备案网站做局域网网站教程
  • 哈尔滨专业做网站电脑可以做网站服务器吗
  • 2021没封的网站uc合肥市做效果图的网站
  • 郑州东区网站优化公司推荐收费网站建设
  • 石排镇仿做网站网站盈利方法
  • 网站设计流程大致分为几个阶段管理咨询有限公司
  • 网站建设哪家好 上海中山市网站建设哪家好