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

国外优秀营销网站设计国外网站建设软件排行榜

国外优秀营销网站设计,国外网站建设软件排行榜,工作做ppt课件的网站,建设营销型网站的优势一、自定义Widget组件 1、自定义Widget组件 使用步骤采用提升法(promotion)重新定义paintEvent事件 2、实现程序 (1)创建项目,基于QWidget (2)添加类,为Widget组件提升类 #inclu…

一、自定义Widget组件

1、自定义Widget组件

使用步骤
  • 采用提升法(promotion)
  • 重新定义paintEvent事件

2、实现程序

在这里插入图片描述

(1)创建项目,基于QWidget

在这里插入图片描述

(2)添加类,为Widget组件提升类

#include "battery.h"
#include <QPainter>int Battery::powerLevel() const
{return mPowerLevel;
}void Battery::setPowerLevel(int powerLevel)
{mPowerLevel = powerLevel;repaint();
}void Battery::paintEvent(QPaintEvent *event)
{Q_UNUSED(event)QPainter painter(this);QRect rect(0, 0, width(), height());painter.setViewport(rect);painter.setWindow(0, 0, 120, 50); // 设置窗口逻辑坐标painter.setRenderHint(QPainter::Antialiasing);painter.setRenderHint(QPainter::TextAntialiasing);// 绘制电池边框QPen pen;pen.setWidth(2);pen.setColor(mColorBorder);pen.setStyle(Qt::SolidLine);pen.setCapStyle(Qt::FlatCap);pen.setJoinStyle(Qt::BevelJoin);painter.setPen(pen);QBrush brush;brush.setColor(mColorBack);brush.setStyle(Qt::SolidPattern);painter.setBrush(brush);rect.setRect(1, 1, 109, 48);painter.drawRect(rect);brush.setColor(mColorBorder);painter.setBrush(brush);rect.setRect(110, 15, 10, 20);painter.drawRect(rect);// 画电量if(mPowerLevel <= mWarning){brush.setColor(mColorWarning);pen.setColor(mColorWarning);}else{brush.setColor(mColorPower);pen.setColor(mColorPower);}painter.setBrush(brush);painter.setPen(pen);if(mPowerLevel > 0){rect.setRect(5, 5, mPowerLevel, 40);painter.drawRect(rect);}// 绘制百分比文字QFontMetrics textSize(this->font());QString powerStr = QString::asprintf("%d%%", mPowerLevel);QRect textRect = textSize.boundingRect(powerStr);pen.setColor(mColorBorder);painter.setPen(pen);painter.drawText(55 - textRect.width() / 2, 23 + textRect.height() / 2, powerStr);}Battery::Battery(QWidget *parent) : QWidget(parent)
{}

(3)设置标题和图标(图标需要选择资源中图标,直接选择文件可能无效)

在这里插入图片描述

(4)实现电池电量修改

#include "widget.h"
#include "ui_widget.h"#include "battery.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);ui->battery->setPowerLevel( ui->horizontalSlider->value() );
}Widget::~Widget()
{delete ui;
}void Widget::on_horizontalSlider_valueChanged(int value)
{int nPower = ui->horizontalSlider->value();ui->battery->setPowerLevel(nPower);ui->label->setText(QString::asprintf("当前电量: %d%%", nPower));
}

在这里插入图片描述

二、自定义QtDesigner插件

1、实现程序

(1)创建自定义控件工程

在这里插入图片描述
在这里插入图片描述
设置分组
在这里插入图片描述

(2)将生成的dll库拷贝到Tools\QtCreator\bin\plugins\designer下

(3)创建项目,基于QWidget

在UI编辑界面组件栏可以看到多分组MyWidget下有了Battery组件。(我没做出来,始终是加载失败,之后测试处理)
初步分析:似乎因为Qt IDE是由MSVC编译,所以插件必须为MSVC编译(本人使用MSVC2015 64bit测试,没有加载成功,之后测试32bit)

在这里插入图片描述
在这里插入图片描述

三、静态链接库

1、静态链接库的创建和使用

(1)创建静态链接库

  • MSVC编译器生成的库后缀为“.lib”
  • MinGW编译器生成的库后缀为".a"

(2)使用静态库

需要使用静态库文件和h文件,不需要cpp文件

2、实现程序

在这里插入图片描述

(1)创建Library项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)使用图表中的一个窗口

在这里插入图片描述

(3)创建项目调用库

(4)添加库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(5)实现功能

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "dialogpen.h"#include <QPainter>void MainWindow::paintEvent(QPaintEvent *event)
{Q_UNUSED(event)QPainter painter(this);QRect rect(0, 0, width(), height());painter.setViewport(rect);painter.setWindow(0, 0, 100, 50); // 逻辑坐标painter.setPen(mPen);painter.drawRect(10, 10, 80, 30);
}MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::on_actSetPen_triggered()
{bool ok = false;QPen pen = DialogPen::getPen(mPen, ok);if(ok){mPen = pen;repaint();}
}

在这里插入图片描述

四、共享库(动态链接库)

1、动态库声明

(1)隐式加载

#if defined(DLL_LIBRARY)
#define DLLSHARED_EXPORT Q_DECL_EXPORT
#else
#define DLLSHARED_EXPORT Q_DECL_IMPORT
#endif

(2)显示加载(直接打开dll库,直接解析调用函数)

typedef int (*FunDef)(int);FunDef myFun = (FunDef)myLib.resolve("funName"); //解析dll函数
int n = myFun(1); //调用函数

2、实现隐式加载程序

(1)创建动态库工程

在这里插入图片描述

(2)导出动态库

class SHAREDLIBSHARED_EXPORT DialogPen : public QDialog

(3)实现功能

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "dialogpen.h"#include <QPainter>void MainWindow::paintEvent(QPaintEvent *event)
{Q_UNUSED(event)QPainter painter(this);QRect rect(0, 0, width(), height());painter.setViewport(rect);painter.setWindow(0, 0, 100, 50); // 逻辑坐标painter.setPen(mPen);painter.drawRect(10, 10, 80, 30);
}MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::on_actSetPen_triggered()
{bool ok = false;QPen pen = DialogPen::getPen(mPen, ok);if(ok){mPen = pen;repaint();}
}

在这里插入图片描述

3、实现显式加载程序

http://www.yayakq.cn/news/129884/

相关文章:

  • 免费模板下载网站推荐如何查询网站死链
  • 成都网站建设公司服务商帮客户做网站的公司
  • 简单美食网站模板免费下载门户网站改版
  • 西安个人建网站网站与网页设计
  • 51办办网外贸seo外贸推广外贸网站建设外贸网站建设
  • 学校建设微网站的方案网站开发有哪些技术
  • 安防网站模板网站开发最严重的问题
  • 网站建设报价浩森宇特想建网站怎么做
  • 高端网站的特点国外网站工作室
  • 网站设计实例阿里云网站备案查询
  • 域名如何指向网站网站设计服务费一般多少钱
  • 漳州建设网站宁夏建设银行官方网站
  • 互动创意网站营销课程培训视频
  • 宝安营销型网站制作百度ai搜索引擎
  • 城阳网站建设哪里有做网站需要多少钱啊
  • 人才招聘网站怎么做微信小程序定制开发公司
  • 浅谈顺丰的电子商务网站建设商城网站 模板
  • 做网站有什么好处做网站找顺的
  • 天津和平做网站多少钱遵义本地网站
  • 网络营销导向的网站建设的基本原则自己做网站能宣传自己的产品吗
  • 影视网站视频接口怎么做商旅平台app下载
  • 杭州免费网站制作20个优秀微信小程序
  • 织梦手机网站如何调用做网站说什么5.0啥意思
  • 网页制作网站花店开源门户系统
  • 沈阳做网站的公司有哪些小说网站自主建设
  • 网站备案 互联网信息wordpress伪静态化
  • 安吉网站建设公司如何制作一个简单的网站
  • 移动网站建设论文小程序怎么制作网站
  • 短视频网站平台怎么做的软考网络规划设计师论文
  • 安阳信息港网站怎么给自己公司做网站