Qt-你可以使用加农炮了

你可以使用加农炮了

在这里,我们在cannon.cpp中增加了在画布上画加农炮的代码,并且左侧slider变化时,加农炮炮口的方向随之变化。

lcdrange.h包含LCDRange类定义
lcdrange.cpp包含LCDRange类实现
cannon.h包含CannonField类定义
cannon.cpp包含CannonField类实现
main.cpp包含MyWidget和main

与上一篇代码基本相同,只贴出有改变的函数:

cannon.cpp 中,

void CannonField::paintEvent(QPaintEvent *)
{
    QPainter p(this);//创建操作窗口部件的QPaonter
    p.setBrush(Qt::blue);
    p.setPen(Qt::NoPen);
    p.translate(0, rect().bottom());//
    p.drawPie(QRect(-35, -35, 70, 70), 0, 90*16);//绘制由(x,y,w,h)确定的饼图,开始角度为0,弧长为90*16(四分之一圆)
    p.rotate(-angle);// 将坐标系统逆时针旋转-angle
    p.drawRect(QRect(33, -4, 15, 8));//根据(x,y,w,h)画矩形
}

结果截图:

这里写图片描述


1.设置一个不同的画笔代替NoPen。
设置成红色边框:

p.setPen(Qt::red);

结果截图:

这里写图片描述

设置一个调色板的画刷。

setAutoFillBackground(true);
QPalette palette;
palette.setBrush(QPalette::Active,QPalette::Window,QBrush(Qt::darkMagenta));
setPalette(palette);

结果截图:

这里写图片描述


2.试着用“Q&uit”或者“Qu&it”作为按钮的文本来替代“&Quit”,发生了什么?
通常使用含字符’&’的字符串为按钮的显示名称,如果设置按钮的text为 “&Cancel”,Qt的编译器会将字符’&’后的’C’在显示时下方多一下划线,表明’C’为该按钮的快捷键,通过”Alt+c”操作来实现对pushButton的点击。
使用“Q&uit”或者“Qu&it”则不会有这种作用,相应的,通过“Alt+u” \ “Alt+i”实现对按钮的点击。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值