• 6947阅读
  • 8回复

[提问]请教点击按钮调用paintEvent画一个点的程序怎么写 [复制链接]

上一主题 下一主题
离线haotao0723
 
只看楼主 倒序阅读 楼主  发表于: 2012-05-07
假设有那么个窗体,在上面有一个okButton跟一个label,我希望得到的效果是:
点击一下按钮okButton,label上绘制一个点(这么说清楚吗?)
请问代码怎么写?
应该是很基础的东西,希望各位拉风的大家,走到哪个黑暗的角落都像萤火虫一样闪闪发亮,既然停下了脚步看到这帖子,不懂的认识交流一下,懂得索性就不吝赐教吧!!
Simple。
离线fish0619

只看该作者 1楼 发表于: 2012-05-08
预先在画图软件里面画一个点,背影透明,存为`point.png`。当你点击按按钮的时候调用`QLable::setPixmap()`,

或者自己从`QWidget`派生一个类,重写`paintEvent()`方法,当条件满足的时候就画点。点击按钮设置条件。
离线jdwx

只看该作者 2楼 发表于: 2012-05-08
void Widget::paintEvent(QPaintEvent *)
{
QPainter p(this);
p.save();
QPen pen(QColor(255,0,0));
pen.setWidth(3);
p.setPen(pen);
p.drawPoint(QPoint(100,100));
p.restore();
}
重写一个QWidget的paintEvent()代码在上面。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线benbenmajia

只看该作者 3楼 发表于: 2012-05-08
如果你想动态的画的话可以这样,设置一个开关,比如一个label里面有一个bool类型的值,在paintevent中判断为true时paint point,button被点之后调用label的slot,设置该bool为true就可以了
安然.....
离线benbenmajia

只看该作者 4楼 发表于: 2012-05-08
记得update()
安然.....
离线haotao0723
只看该作者 5楼 发表于: 2012-05-08
回 2楼(jdwx) 的帖子
谢谢,但我想请教的是“按钮按下,调用paintEvent的这部分代码,
比方说我本来想用
connect(ui->okButton,SIGNAL(on_okButton_clicked()),this,SLOT(QWidget::paintEvent()));
但出错了,
能不能耽误您点时间,教一下我
Simple。
离线haotao0723
只看该作者 6楼 发表于: 2012-05-08
谢谢大家参与、指教还有细心的提醒,我想了解的是,
按钮按下到paintEvent的响应,这个过程的代码该怎么实现?
能不能直接用
connect(ui->okButton,SIGNAL(on_okButton_Clicked()),this,SLOT(QWidget::paintEvent()));
谢谢大家
Simple。
离线jdwx

只看该作者 7楼 发表于: 2012-05-08
connect(ui->okButton,SIGNAL(clicked()),this,SLOT(update()));
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线haotao0723
只看该作者 8楼 发表于: 2012-05-08
回 7楼(jdwx) 的帖子
对,要的就是这个,非常感谢,表达能力不太好,见谅
Simple。
快速回复
限100 字节
 
上一个 下一个