用代碼自定義一個獨立顯示的Widget,要在里面畫圖,同時加上滾動條,
滾動條:
printerYuLanPainter = new QPainter(); test = new QScrollArea(); printerYuLanWidget = new QWidget(test); printerYuLanWidget->setMaximumSize(720,1000); printerYuLanWidget->setMinimumSize(720,1000); printerYuLanWidget->close(); test->setWidget(printerYuLanWidget);
畫圖:
this->printerYuLanWidget->installEventFilter(this);//注冊觸發機制
//重寫eventFilter bool MainWindow::eventFilter(QObject *watched, QEvent *e) { if(watched == this->printerYuLanWidget) { if(e->type() == QEvent::Paint) { qDebug()<<"this->printerYuLanWidget" << this->printerYuLanWidget->width()<< " "<<this->printerYuLanWidget->height(); printTest(this->printerYuLanPainter,this->printerYuLanWidget); return true; } } return QWidget::eventFilter(watched, e); }
printTest函數為繪圖函數。