QDialog

С QDialog все на самом деле сразу понятно, как пользоваться, для чего он применяется.

Но нельзя не отметить некоторые нюансы ,поведения, которые усложняют жизнь программисту.

Например setStyleSheet работает несколько Иначе.


    setStyleSheet(""\
 
                  "*{\n"\
                  "   font-size: 20px;\n"\
                  "}\n"\
 
                  "QDialog{\n"
                  " border-radius:" em2 "px;\n"\
                  "background:transparent;\n"\
                  "}\n"
 
                  "#frame1,#frame2{\n"
                  " border-radius:" em2 "px;\n"\
                  "}\n"
 
                  "QPushButton{\n"
                  " padding:" em2 "px;\n"\
                  " margin:" em2 "px;\n"\
                  " border-radius:" em1 "px;\n"\
                  " background:rgb(62, 125, 0);\n"\
                  "}\n"
 
                  "QPushButton:hover{\n"
                  " border:2px solid #555;\n"\
                  "}\n"
 
                  "QPushButton:pressed{\n"\
                  "   border:2px solid red;\n"\
                  "}\n"\
 
                  );
 
    // именно так 
    ui->btn_Yes->setStyleSheet(
                    QString::fromUtf8("background-color: green; color:white;"));
 
    ui->btn_No->setStyleSheet(
                    QString::fromUtf8("background-color: rgb(173, 22, 24); color:white;"));
 

Стили для QPushButton частично (к примеру background) устанавливаются только напрямую к кнопке. То есть в целом к кнопке в QDialog styleSheet не применяется, хотя та же рамка и цвет текста срабатывает.