• 1861阅读
  • 0回复

[提问]在scrollArea绘图无效问题 [复制链接]

上一主题 下一主题
离线solo_wang
 

只看楼主 倒序阅读 楼主  发表于: 2018-08-07
我在MainWindow下有个QScrollArea组件,现在想在这个组件里面实现绘图功能,主要就是画直线,画圆等基本功能。
实现方法是:再实现一个类(名字叫myscroll),这个类作为QScrollArea的子部件,重写该类的paintevent,但是一直画不出图。有没有高手,指点一下,怎么回事?
//这个是MainWindow的部分

MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    this->setAutoFillBackground(true);


   QScrollArea *scrollArea = new QScrollArea(this);
   pmyscroll          = new myscroll(scrollArea); // 写成new myscroll(this)也不行
   scrollArea->setBackgroundRole(QPalette::Dark); // 设置背景色实际有效
    this->setCentralWidget(scrollArea);
    scrollArea->setWidget(pmyscroll);
    this->showMaximized();
}
//  myscroll部分
void myscroll::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    QPen pen;
    pen.setStyle(Qt::SolidLine);
    pen.setColor(Qt::blue);
    painter.setPen(pen);
    painter.drawLine(50,50,100,50);
}


    
快速回复
限100 字节
 
上一个 下一个