在我的应用程序中使用了一个qsplitter,并将OpaqueResize设置为'false',同时拖动拆分器手柄时,不断变小的小部件会连续重新绘制,这是不对的。我以为拆分器句柄两侧的QWidgets直到mouseRelease都不会收到有关重绘或调整大小的任何信号。这个问题困扰了我好几天,如果有人知道如何处理它,请帮帮我,谢谢您。 Windows10 64位上的Qt5.11.2
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
// left
ui->widget_2->bgColor = QColor(255,0,0);
ui->widget_2->tag = 0;
// right
ui->widget_3->bgColor = QColor(0,0,255);
ui->widget_3->tag = 1;
}
MainWindow::~MainWindow()
{
delete ui;
}
MyWidget::MyWidget(QWidget *parent) : QWidget(parent)
{
bgColor = QColor(255,255,255);
tag = 0;
}
void MyWidget::paintEvent(QPaintEvent *event)
{
QWidget::paintEvent( event );
QPainter painter(this);
QBrush brush( bgColor );
painter.fillRect( event->rect(), brush );
qDebug() << "paintEvent:tag="<<tag;
}