• 6327阅读
  • 14回复

[提问]怎样在QTreeWidget上画一条任意的直线? [复制链接]

上一主题 下一主题
离线medky
 

只看楼主 倒序阅读 楼主  发表于: 2012-08-06
各位大神,我想在QTreeWidget上画一条直线,我重载了paintEvent代码如下:
void TreeWidget::paintEvent(QPaintEvent* ev)
{
        QPainter paitn(this);
        paint.drawLine(0, 0, 100, 100);


        QTreeWidget::paintEvent(ev);
}
调试发现函数执行了,但直线却没有画出来。我原以为是执行父类的paintEvent函数导致直线被覆盖,于是我将最后一行代码去掉,但结果是一样的。
请大家帮忙看看问题出在哪里或者给一些解决问题的思路,谢谢大家!!
离线benbenmajia

只看该作者 1楼 发表于: 2012-08-06
QPainter paitn(this);
        paint.drawLine(0, 0, 100, 100);、?

安然.....
离线cfxks1989

只看该作者 2楼 发表于: 2012-08-06
是拼写错误么?
离线medky

只看该作者 3楼 发表于: 2012-08-06
拼写错误
离线medky

只看该作者 4楼 发表于: 2012-08-06
2楼提出来的是我发帖时的手误 ,整个代码编译通过了,但就是执行后看不见直线。请大神们帮帮忙呗!!谢谢各位先
离线benbenmajia

只看该作者 5楼 发表于: 2012-08-06
界面发出来看看
安然.....
离线medky

只看该作者 6楼 发表于: 2012-08-06
运行界面是这样子的
离线benbenmajia

只看该作者 7楼 发表于: 2012-08-06
- -,painter没有设置pen~
安然.....
离线medky

只看该作者 8楼 发表于: 2012-08-06
呃,首先painter有默认的pen,其次我尝试过设置pen但设置后效果一样的。
离线kimtaikee

只看该作者 9楼 发表于: 2012-08-06
  1. void CusTreeWidget::paintEvent(QPaintEvent *)
  2. {
  3.     QPainter painter(viewport());
  4.     painter.drawLine(QPointF(10,10),QPointF(50,50));
  5. }

离线jdwx

只看该作者 10楼 发表于: 2012-08-06
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线medky

只看该作者 11楼 发表于: 2012-08-06
感谢9楼kimtaikee,问题解决了。 非常感谢你啊!!同时也谢谢benbenmajia的关注!
离线blissshu

只看该作者 12楼 发表于: 2018-03-27
画线的时候原来的文字怎么显示出来的啊
离线solo_wang

只看该作者 13楼 发表于: 2018-08-07
回 kimtaikee 的帖子
kimtaikee:void CusTreeWidget::paintEvent(QPaintEvent *)
{
    QPainter painter(viewport());
    painter.drawLine(QPointF(10,10),QPointF(50,50));
....... (2012-08-06 11:39) 

请问这个viewport()是哪个类的函数?
离线solo_wang

只看该作者 14楼 发表于: 2018-08-07
回 solo_wang 的帖子
solo_wang:请问这个viewport()是哪个类的函数? (2018-08-07 12:36) 

我直接这么写,编译器报"viewport()"未定义
快速回复
限100 字节
 
上一个 下一个