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

自己做的网站能联网吗百度无广告搜索引擎

自己做的网站能联网吗,百度无广告搜索引擎,武汉便宜做网站,app外包公司开发一、自定义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.wangmingla.cn/news/67468.html

相关文章:

  • 沈阳做网站哪家便宜营销官网
  • 如何用网站做招聘互动营销平台
  • 官方网站重要性网站广告调词平台
  • 网站建设药店营销型网站建设的公司
  • 网站对于一个企业的优势百度指数查询排行榜
  • 毕业设计网页制作网站建设济南做网站公司
  • 我想自己建个网站 应该怎么做磁力宝
  • 郴州网站优化建立一个网站需要多少钱?
  • 做网站几个步骤销售管理系统
  • 在网站上做宣传属于广告费用吗百度知道网页版
  • 建站新体验拉新推广一手接单平台
  • 注册购买域名后怎么做网站武汉seo排名优化公司
  • 备案查询工信部网址查询外贸seo
  • 湖南做网站公司有哪些济南网站推广
  • 做网站费用需要分摊吗seo网站关键词排名快速
  • 做网站的几个软件seo技术分享免费咨询
  • 有没有帮忙做问卷调查的网站百度销售平台怎样联系
  • 网站建设首先优化seo培训班
  • 委托 网站开发 进什么费用考研培训班集训营
  • 宁波网站设计服务收费价格百度贴吧网页版登录入口
  • 国外做任务赚钱网站百度seo2022新算法更新
  • 我国政府门户网站的建设公司建立网站的步骤
  • 彩票网站开发软件高质量关键词搜索排名
  • 做蓝牙app的网站爱网站关键词查询工具
  • 国际域名注册网站seo优化资源
  • 二手网站模板在线种子资源网
  • 全屏网站源码新闻发稿软文推广
  • 做网站定金一般多少短视频seo营销
  • 企业做网站认证有哪些好处网站推广平台有哪些
  • 盘锦网站建设价位360搜索引擎网址