QT_Widgets按键样式表(二)
QT中按键想改变样式还有其他的方法:
例:
在mainwindow.cpp(名字我都懒得改,就用mainwindow)中,输入神秘代码设置按键初始样式,每行的最后“\”换行符,不想使用换行符、屏幕长的大佬可以整合到一行显示。
设置初始值输入的内容其实与直接在ui里改变样式表是一样的。
ui->pushButton->setStyleSheet("QPushButton{background:rgb(255, 190, 78);\
border: 1px solid grey; border-radius: 8px;}\
QPushButton:hover{border-color:rgb(139,170,105);\
background:rgb(241, 177, 74);}\
QPushButton:pressed{border-color:gray;background:rgb(227, 167, 69);}");
就是这个样子:
还可以:
将pushbutton转到槽(clicked()),设置点下后变成不一样的样式:
void MainWindow::on_pushButton_clicked()
{
ui->pushButton->setStyleSheet("QPushButton{background:rgb(85, 170, 255);\
border: 1px solid grey; border-radius: 8px;}\
QPushButton:hover{border-color:rgb(139,170,105);\
background:rgb(81, 162, 243);}\
QPushButton:pressed{border-color:gray;\
background:rgb(75, 151, 227);}");
}
再来:
void MainWindow::on_pushButton_clicked()
{
static int flag = 0;
if(flag == 0)
{
flag = 1;
ui->pushButton->setStyleSheet("QPushButton{background:rgb(85, 170, 255);\
border: 1px solid grey; border-radius: 8px;}\
QPushButton:hover{border-color:rgb(139,170,105);\
background:rgb(81, 162, 243);}\
QPushButton:pressed{border-color:gray;\
background:rgb(75, 151, 227);}");
}
else
{
flag = 0;
ui->pushButton->setStyleSheet("QPushButton{background:rgb(255, 190, 78);\
border: 1px solid grey; border-radius: 8px;}\
QPushButton:hover{border-color:rgb(139,170,105);\
background:rgb(241, 177, 74);}\
QPushButton:pressed{border-color:gray;\
background:rgb(227, 167, 69);}");
}
}
立个flag(标志位),按下后改变颜色,例如“按键关闭时是蓝色,打开时是红色”这样,发挥自己的想象随便改样式。
注意:设置标志位的时候用static。
上面例程代码效果图如下:
(领卓教育)