Время переключения таблицы стилей QT Radio Button - PullRequest
0 голосов
/ 09 июля 2020

Я меняю таблицу стилей радиокнопки в условии IF следующим образом:

QString StyleSheetOn1("
    QRadioButton::indicator 
    {
        width: 25px; 
        height: 25px; 
        border-radius: 12px;
    } 

    QRadioButton::indicator:unchecked 
    {
        background-color: lime;
        border: 2px solid gray;
    }");

QString StyleSheetOff1("
    QRadioButton::indicator 
    {
        width: 25px;
        height: 25px; 
        border-radius: 12px;
    } 

    QRadioButton::indicator:unchecked 
    { 
        background-color: red;
        border: 2px solid gray;
    }");

if(a_vertical> 0.5)
{
    ui->rdo_btn_vertical->show();
    ui->rdo_btn_vertical->setStyleSheet(StyleSheetOn1);
}
else
{
    ui->rdo_btn_vertical->setStyleSheet(StyleSheetOff1);
}

В приведенном выше коде радиокнопка будет отображать StyleSheetOn1 после выполнения условия, и это вполне быстро. Как сделать так, чтобы StyleSheetOn1 появлялся в течение короткого периода времени, скажем, на 1 секунду при выполнении условия?

1 Ответ

0 голосов
/ 09 июля 2020

Вы можете написать SIGNAL, который запускается на основе таймера, который вызывает SLOT для их обновления.

Это не совсем правильный код, но это пример logi c Я про.

//SIGNAL
void timer1()
{
    sleep_for(nanoseconds(10));
    timer2();
}

void timer2()
{
    sleep_for(nanoseconds(10));
    timer1();
}

//SLOT
void changeCSS()
{
    //add your code from above
}

connect(this, SIGNAL(timer1()), this, SLOT(changeCSS()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...