当前位置: 首页 > 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.hkea.cn/news/14404852/

相关文章:

  • 做一个什么网站好seo文章优化方法
  • wordpress快站怎么样百度集团官网
  • easyui做门户网站服装设计好找工作吗
  • win7 iis架设网站教务管理系统哪个好
  • 做网站 有哪些问题同ip下网站
  • 网站开发自学难吗广告公司图片大全
  • tiktok官方网站入口ftp如何上传网站
  • 自己做网站引用别人的电影centos 网站开发工具
  • 网页建站要多久wordpress 命令插件
  • 手机网站和电脑网站样式的区别wordpress的DUX主题
  • 网站开发费怎么做会计分录网页设计技术学什么
  • 怎么建设个人网站黑客收徒网站建设
  • 如何建设小说网站搜索引擎优化是什么?
  • 阿里云网站建设的功能培训美工设计师
  • 天津网站设计建设免费注册域名方法
  • js网站计数器代码百度域名的书写
  • 做外贸英语要什么网站北京网站建设 shwl
  • 昭通网站seo网站建设案例行情
  • 房地产公司网站模板什么主题的网站容易做
  • 网页模板免费源码网站seo诊断报告例子
  • 淘宝联盟网站推广怎么做wordpress标签使用方法
  • 网站系统找不到指定的文件怎么做轮胎网站
  • 照片网站怎么做网页制作学什么软件好
  • 购物网站名字建设部举报网站
  • 公司电子商务平台和企业网站建设和维护工作管理办法Linux备份wordpress
  • 学网站建设语言expression wordpress主题
  • 维影企业网站管理系统石家庄网络公司有哪些
  • 信用中国网站建设知名网站建设商家
  • 亿藤互联网站建设开发购买域名流程
  • 网站以前在百度能搜索不到淮南家政网站建设地址