首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

QT 绘图,该如何处理

2013-04-02 
QT 绘图QT绘图只能在paintEvent中实现吗?我想实现点击button1就画一条直线,点击button2就画一个矩形。在槽

QT 绘图
QT绘图只能在paintEvent中实现吗?
我想实现点击button1就画一条直线,点击button2就画一个矩形。在槽函数中该怎么实现?

比如说我要在button1的槽函数下实现
void button1ClickSlot()
{
    QPainter painter(this);
    painter.setRenderHint(QPainter::Antialiasing,true);
    painter.setPen(QPen(Qt::black,12,Qt::DashDotDotLine,Qt::RoundCap));
    painter.setBrush(QBrush(Qt::SolidPattern));
    painter.drawEllipse(80,80,400,240); 
    update();
}
如果把这些代码写在paintEvent中就可以画出来,但是在自己写的槽函数中就画不出来。
这是为什么啊?
求大神指点,万分感激! QT?绘图 QT??绘图?? 绘图? QT
[解决办法]
第一个?,答案是:必须的,要不然画不到界面上。
还有一个间接的办法,在类里面声明一个QPixmap的类变量,在这个QPixmap上画图(任何时候都可以),paintEvent里画到界面上。

引用:
QT绘图只能在paintEvent中实现吗?
我想实现点击button1就画一条直线,点击button2就画一个矩形。在槽函数中该怎么实现?

比如说我要在button1的槽函数下实现
void button1ClickSlot()
{
    QPainter painter(this);
    painter.setRenderHint(QPainte……

[解决办法]
引用:
第一个?,答案是:必须的,要不然画不到界面上。
还有一个间接的办法,在类里面声明一个QPixmap的类变量,在这个QPixmap上画图(任何时候都可以),paintEvent里画到界面上。

引用:QT绘图只能在paintEvent中实现吗?
我想实现点击button1就画一条直线,点击button2就画一个矩形。在槽函数……


我的方法:
    设一个私有变量 bool isPaint = false;
    把button画图的响应就放在piantEvent里,但是前面要判断
    if(isPaint)
    QPainter  ..
    然后再Button的槽里 isPaint = true;

热点排行