Pen

加载等待控件----------WinForm控件开发系列

拜拜、爱过 提交于 2020-10-07 06:23:40
/// <summary> /// 加载进度控件 /// </summary> [ToolboxItem( true )] [Description( " 加载进度控件 " )] [DefaultProperty( " Active " )] public partial class LoadProgressExt : Control { #region 属性 private LoadProgressType progressType = LoadProgressType.Line; /// <summary> /// 加载进度条类型 /// </summary> [Description( " 加载进度条类型 " )] [DefaultValue( typeof (LoadProgressType), " Line " )] public LoadProgressType ProgressType { get { return this .progressType; } set { if ( this .progressType == value) return ; this .progressType = value; if (value == LoadProgressType.Line || value == LoadProgressType.Dot) { this

AntV 墨者周刊 第十九期 · 人类在海洋经济的影响、近 20 年的超高摩天大楼、DataToon

天大地大妈咪最大 提交于 2020-08-17 16:56:54
Visualizing the Human Impact on the Ocean Economy 海洋因其可循环重复利用和丰富的资源被称为“绿色经济”,据估计,海洋的总资产价值达到了24万亿: 如果把海洋比做一个国家,那绿色经济可以在前世界排到第八位: 但人类的活动正在威胁着绿色经济,下图展示了人类的各种活动对绿色经济的各种影响: 总体而言,气候压力因素是大多数海洋环境变化的最主要驱动因素。同样,许多生态系统的污染程度也在增加。 近20年的超高摩天大楼 20世纪末时,超高摩天大楼(高度超过300米)在世界上仍然寥寥无几。但近20年来,超高摩天大楼的数量已在世界各地快速增长。中国建造了其中超过半数的96座,反映了这期间经济的快速增长。而在城市规模下,迪拜无疑最为突出,在过去的20年中增加了23座超高摩天大楼,其中包括目前世界最高大楼——哈利法塔。 DataToon DataToon: Drawing Dynamic Network Comics With Pen + Touch Interaction DataToon是一个支持Pen+Touch交互方式来探索动态网络并创作数据漫画故事的工具。将数据分析和展示的过程融合在一起,用户在探索动态图数据时可以快速生成故事板,并将它们放置在画布中,产生一个视觉上令人信服的叙事。 交互流程 通过DataToon创作的数据漫画 亮点:

Qt-绘图

六月ゝ 毕业季﹏ 提交于 2020-08-17 07:40:15
1 简介 参考视频: https://www.bilibili.com/video/BV1XW411x7NU?p=37 参考文档:《Qt教程.docx》 本文简单介绍Qt的绘图与绘图设备。 Qt的绘图系统基于三个类:QPainter,QPainterDevice和QPaintEngine。它们之间的层次关系结构如下: QPainter:用于执行绘图的操作,可以把它想象成画家; QPaintDevice:一个二维空间的抽象,这个二维空间允许QPainter在其上进行绘制。想象成画板; QPaintEngine:提供了画笔(QPainter)在不同的设备上进行绘制的统一的接口。对开发人员透明。 我们可以把QPainter理解成画笔;把QPaintDevice理解成使用画笔的地方,比如纸张、屏幕等;而对于纸张、屏幕而言,肯定要使用不同的画笔绘制,为了统一使用一种画笔,我们设计了QPaintEngine类,这个类让不同的纸张、屏幕都能使用一种画笔。 Qt 的绘图系统实际上是,使用QPainter在QPainterDevice上进行绘制,它们之间使用 QPaintEngine进行通讯(也就是翻译QPainter的指令)。 2 测试 下面写个测试代码来进行说明。 功能:在窗口上绘制直线、矩形、椭圆、添加背景图等。 (1)创建一个带ui的QWidget工程 (2)实现过程

2016-2017 CT S03E07(B 签到,C 组合数学,D 莫队+容斥 ,E 签到 ,F 解一元二次公式 I 思维)

泄露秘密 提交于 2020-08-16 07:21:25
题目链接 6.17 和队友开了一场gym 打的还可以吧,中间cf炸了会,有一个小时在划水 B. Pen Pineapple Apple Pen 题意:现有两个字符 A 和 P,可以进行下面的两个操作得到一个字符串 1、两个基础的字符( A 、P都 是基础的字符) 组合成一个长度为2的字符串,两个基础字符其中一个一定要有P 2、两个长度相等 且 长度大于等于2的字符串 组合成一个字符串 做法:很明显只有2的幂次方才符合要求,然后就是判断有没有连续的 AA((1,2) (3,4) 这样的连续两个位置) 有的话 无法得到 这个字符 #pragma GCC optimize(2) #include<bits/stdc++.h> #define ll long long #define maxn 1005 #define inf 1e9 #define pb push_back #define rep(i,a,b) for(int i=a;i<=b;i++) #define per(i,a,b) for(int i=a;i>=b;i--) using namespace std; inline ll read() { ll x=0,w=1; char c=getchar(); while(c<'0'||c>'9') {if(c=='-') w=-1; c=getchar();} while

Qt开源作品27-鼠标定位十字线

坚强是说给别人听的谎言 提交于 2020-08-16 06:59:53
一、前言 上次有个群友在咨询这个问题,如何用Qt绘制一个鼠标定位的十字线,花了两分钟整了个,最没有含金量的一个demo,就是用drawline绘制了两条线,这个效果在经典的CAD软件中很常用,还有一些股票软件,也有这种十字线定位线,有时候需要在十字交叉地方获取对应点的数据来显示等。Qt来绘制各种效果还是非常方便的,还是那句话:心中有坐标,万物皆painter。 二、代码思路 void Widget::mouseMoveEvent(QMouseEvent *event) { lastPos = event->pos(); update(); } void Widget::mouseReleaseEvent(QMouseEvent *event) { //这里是鼠标按下的坐标,自己存到数据库 lastPos = event->pos(); update(); qDebug() << lastPos; } void Widget::paintEvent(QPaintEvent *) { QPainter painter(this); QPen pen; pen.setWidth(5); pen.setColor(Qt::red); painter.setPen(pen); //绘制横向线 painter.drawLine(0, lastPos.y(), width(), lastPos

MFC图形编辑界面工具

房东的猫 提交于 2020-08-15 16:50:41
//2020年6月17 更新 这篇博客最近好像挺火?不少师弟师妹咨询我MFC的内容,额,博主很久也没有用MFC搞事情了,现在甚至都没有开发环境,加上到期末了,事情很多,实在没有精力回顾帮大家解决问题,今年这种情况特殊,我也很能理解18级的师弟师妹们,教授实训课的应该还是张帆老师吧,很好的老师,可以多向他请教,B站好像也有相关的教程,方法总比困难多,加油! 一、背景 喔,五天的实训终于结束了,学校安排的这次实训课名称叫高级程序设计实训,但在我看来,主要是学习了Visual C++ .NET所提供的MFC(Microsoft Foundation Class)库所提供的类及其功能函数的使用。写这一篇博客的目的是针对实训中出现的问题做一些说明,方便以后查看,并且对这次实训做一些总结。这一次的实训对我来说其实挺难受的,真正用来学习使用VS和MFC的时间只有三天,加上下个周是考试周,还有几门课没有复习完,这几天基本上是连轴转,中午也泡在实验室里,唉啊还是自己太菜了。最后我们需要提交一个课程设计程序,因为时间的原因,我选择了最简单的图形界面编辑工具,这个程序其实在C++的课程设计上就有这个,但当时我还不会windows图形界面的编程,现在想想这两个课程设计其实完全可以是一份(捂脸)。 最后做出来的界面是这样的: 在功能上: 能够在 windows 的界面下画图,能够画直线、空心矩形、、圆角矩形

n级排列

非 Y 不嫁゛ 提交于 2020-08-15 03:50:24
n级排列 由1,2,...,n组成的一个有序数组称为一个n级排列。 例如,2431是一个四级排列,45321是一个五级排列。 注:n级排列的总数是 n(n-1)(n-2)...1=n! 逆序 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序 逆序数 一个排列中逆序的总数就称为这个排列的逆序数 例如2431中,21、43、41、31是逆序,2431的逆序数就是4;而45321的逆序数是9 注:排列 j1,j2,....,jn的逆序数记为 τ(j1,j2,...,jn) 奇/偶排列 逆序数为奇数的排列称为奇排列。逆序数为偶数的排列称为偶排列 例如,2431是偶排列,45321是奇排列, 12.....n 的逆序数是零,因而是偶排列。 完整代码戳这里 在线演示1 、 在线演示2 来源: oschina 链接: https://my.oschina.net/codingDog/blog/4303285

Flexbox:水平和垂直居中

倖福魔咒の 提交于 2020-08-15 02:11:26
问题: How to center div horizontally, and vertically within the container using flexbox. 如何使用flexbox在容器内水平和垂直居中div。 In below example, I want each number below each other (in rows), which are centered horizontally. 在下面的示例中,我希望每个数字彼此相邻(按行),它们水平居中。 .flex-container { padding: 0; margin: 0; list-style: none; display: flex; align-items: center; justify-content: center; } row { width: 100%; } .flex-item { background: tomato; padding: 5px; width: 200px; height: 150px; margin: 10px; line-height: 150px; color: white; font-weight: bold; font-size: 3em; text-align: center; } <div class="flex-container">

Qt开源作品31-屏幕截图控件

只谈情不闲聊 提交于 2020-08-14 04:07:49
一、前言 屏幕截图控件在我的很多项目中都有用到,尤其是嵌入式的系统上的软件,因为在嵌入式系统中,基本上系统都很精简,甚至连UI都没有,开机之后直接运行的就是Qt程序,很多时候需要对软件进行截图保存下来,用来编写文档和介绍,还有产品彩页之类的,毕竟在板子上直接运行的效果是最好的,还有一种办法是将系统编译成win的版本,用系统的截图来,但是嵌入式上很多代码其实很不方便在win上运行,甚至没法运行,而且还要外接很多接口来得到真正的运行效果,所以还是采用直接在板子上的Qt程序中直接集成截图的功能,需要的时候直接鼠标右键弹出来选择即可。 二、代码思路 ScreenWidget::ScreenWidget(QWidget *parent) : QWidget(parent) { //this->setWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint); menu = new QMenu(this); menu->addAction("保存当前截图", this, SLOT(saveScreen())); menu->addAction("保存全屏截图", this, SLOT(saveFullScreen())); menu-

#新闻拍一拍# 波音 747 飞机通过 3.5 英寸软盘接收关键软件更新

给你一囗甜甜゛ 提交于 2020-08-13 17:09:52
波音 747 飞机通过 3.5 英寸软盘接收关键软件更新 据外媒报道,波音 747-400 系列飞机仍然使用软盘来加载关键的导航数据库,Pen Test Partners(PTP)在打探了最近被退役的一架飞机的情况后,向信息安全社区透露了这一消息。PTP 的 Lomas 在对飞机进行参观时,指出了导航数据库加载器。Lomas 说:“这个数据库必须每28天更新一次,所以你可以看到这对工程师来说有多么繁琐的访问。”Lomas 指着软盘驱动器说--在正常操作中,软盘驱动器被藏在一个上锁的面板后面。 来源: cnBeta.COM 拍一拍:令人吃惊,居然能在先进的飞机上见到如此落后的数据交换方式,虽然说在飞行器上采用保守的技术更新有利于飞行安全,但是这也太保守了。 COVID-19 大流行影响营收后,Mozilla 将裁员 250 人 本次裁减约四分之一的员工。此次裁员将意味着 Mozilla 将减少产品功能性开发和改进开发者工具等方面的支出。Firefox 浏览器的使用量正在稳步下降,从 2017 年的每月约 3 亿用户下降到今天的 2.1 亿。Mozilla 1 月份的一次裁员已经削减了大约 70 个工作岗位,这使该组织的员工人数减少到 1000 人左右。 来源: cnBeta.COM 拍一拍:Mozilla 的日子越来越不好过了,可叹。而另外一方面,微软却开源做的风生水起。 求售失败