Что-то не так при перетаскивании QSplitter? - PullRequest
0 голосов
/ 26 ноября 2018

В моем приложении был использован qsplitter, а для OpaqueResize установлено значение 'false', при перетаскивании маркера сплиттера уменьшающийся виджет перерисовывается непрерывно, это неправильно.Я подумал, что QWidgets с обеих сторон дескриптора сплиттера не должен получать никаких сигналов о перерисовке или изменении размера до mouseRelease. Эта проблема беспокоит меня несколько дней, если кто-нибудь знает о том, как с этим справиться, пожалуйста, помогите мне, спасибовы.Qt5.11.2 в Windows10 64-битная

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;
}
...