Как я могу исправить фон шрифта и SVG в QT? - PullRequest
0 голосов
/ 06 марта 2020

При открытии диалога в qt фон шрифта и svg иногда меняются.

На рисунке ниже показан диалог qt с нормальной работой. enter image description here На рисунке ниже показаны некоторые необычные поведения в qt. enter image description here Эта проблема встречается очень редко.

Это код конструктора диалога.

Dlg::Dlg(std::string mount_name, std::string user_name, QWidget *parent) 
: QDialog(parent)
{
    if (mount_name.empty() || user_name.empty())
    {
        throw AERROR::FAILED;
    }

    ui_.setupUi(this);
    setWindowFlags(Qt::Window);

    QPalette pal = palette();
    pal.setColor(QPalette::Background, QColor(255, 187, 0));
    ui_.menubar->setAutoFillBackground(true);
    ui_.menubar->setPalette(pal);

    QFont font = ui_.drive_subtitle->font();
    font.setPointSize(12);
    ui_.drive_subtitle->setFont(font);
    ui_.drive_subtitle->setStyleSheet("QLabel { color : black; }");
    ui_.drive_subtitle->setFixedHeight(32);
    ui_.drive_subtitle->setText(user_name.c_str());

    QHBoxLayout *loading_layout = ui_.loading_layout;
    loading_layout->setAlignment(Qt::AlignCenter);

    flat_loading_ = new FlatLoading(this);
    flat_loading_->Initialize();
    flat_loading_->MakeTransparent();
    flat_loading_->setFixedSize(QSize(30, 30));
    flat_loading_->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
    flat_loading_->setFrameShape(QFrame::NoFrame);
    flat_loading_->setStyleSheet("* { background-color: rgb(255, 187, 0); border-color: rgb(255, 187, 0); }");
    loading_layout->addWidget(flat_loading_);

    ui_.status_label->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
    ui_.status_label->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Fixed);
}

Эта проблема возникает настолько редко, что слишком трудно найти причина. Мне нужна чья-то помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...