C++ GUI qt4 第五章 学习笔记

1.numTicks = int(std::ceil(max / step) - std::floor(min / step));

ceil()  floor() round() 都在math.h中。ceil()为向上取整,floor() 为向下取整,round()为四舍五入。

Math.ceil(0.60) -- 1               Math.ceil(0.48) -- 1

Math.floor(0.60) -- 0               Math.floor(0.48) -- 0

Math.round(0.60) -- 1             Math.round(0.48) -- 0

2.  setFocusPolicy(Qt::StrongFocus);

此属性保存窗口小部件接受键盘焦点的方式。接受鼠标和键盘设置焦点。

3.    

	if (hasFocus())
	{
		QStyleOptionFocusRect option;
		option.initFrom(this);//设置焦点
		option.backgroundColor = palette().dark().color();//设置背景颜色
		painter.drawPrimitive(QStyle::PE_FrameFocusRect, option);
		
	}

QStyleOptionFocusRect类用于描述使用QStyle绘制焦点矩形的参数

4.本章使用的双缓冲绘图,

void Plotter::refreshPixmap()
{
    pixmap = QPixmap(size());
    pixmap.fill(Qt::black); // fill(const QPaintDevice*, const QPoint&) is deprecated, ignored on Qt 5.0.2

    QPainter painter(&pixmap);
    painter.initFrom(this);
    drawGrid(&painter);
    drawCurves(&painter);
    update();
}

5.下面的连接是本人的代码和在网上下载的可以运行的qt5上的代码。

https://download.csdn.net/download/z307840528/10620083

6.使用命令行编译

.使用VS2013自带的cmd框使用命令行在windows下编译运行通过(本人环境Windows10(64位) + vs2013 + qt5.7.0) 

1>进入vs安装目录找到C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts。

2>.先进入代码所在目录,然后使用命令编译。

 qmake -project QT+=widgets

qmake ./Plotter.pro

nmake

3>看qmake 后是否有错误。有就修改,没有就可以发现在Plotter下面release文件夹下有个Plotter.exe

双击即可。

没有发现error

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值