您现在的位置是:首页 > 技术文章网站首页技术文章

[Qt]按钮状态

  • WangYe
  • 2020-09-27 00:06:46
  • 186 次阅读
QT实现按键/按钮效果
样式:StyleSheet

//正常状态 或鼠标 松开按钮状态
QPushButton
{}
//鼠标悬浮在按钮上的状态
QPushButton:hover
{}
//鼠标按下按钮时的状态
QPushButton:pressed
{}

//只需要在不同状态下的{}填入样式,对按钮进行操作时就会显示不同样式效果;
QPushButton
{
    border-image:url(:/Resources/registeraccount_hover.png);    //添加图片效果
}

例如:

QPushButton    //正常状态
{
    font-family:Microsoft Yahei;
    color:white;
    background-color:rgb(14 , 150 , 254);
    border-radius:5px;
}

QPushButton:hover    //悬浮状态
{
    background-color:rgb(44 , 137 , 255);
}

QPushButton:pressed    //按下状态
{
    background-color:rgb(14 , 135 , 228);
    padding-left:3px;
    padding-top:3px;
}

效果:

image.pngimage.pngimage.png

Qss样式调用实例:

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    this->loadStyleSheet(":/qss/myStyleSheet.qss");    //加载样式文件
}
void MainWindow::loadStyleSheet(const QString &styleSheetFile)
{
    QFile file(styleSheetFile);
    file.open(QFile::ReadOnly);
    if (file.isOpen())
    {
        QString styleSheet = this->styleSheet();
        styleSheet += QLatin1String(file.readAll());//读取样式表文件
        this->setStyleSheet(styleSheet);//把文件内容传参
        file.close();
    }
    else
    {
        QMessageBox::information(this,"tip","cannot find qss file");
    }
}

给MainWindow添加成员函数loadStyleSheet(),直接在构造函数中调用它即可

myStyleSheet.qss文件的内容如下:

QPushButton
{/*按钮无任何操作时*/
     background-color: green;/*背景色*/
}
QPushButton:hover
{ /*鼠标悬停在按钮上时*/
    background-color:red;
}
QPushButton:pressed
{ /*按钮被按下时*/
     background-color:green;
}

Qss资源添加:

步骤如下:

1、在qt左侧目录树的顶层文件夹上右击->添加新文件->选择QT->QT resource file->choose,输入自定义资源文件的名字res->选择资源文件的存放路径->下一步->ok,这样就可以在目录树中看到一个文件 res.qrc。(如果已经创建过资源文件,则跳过该步)

2、右击res.qrc文件->open in editor,如果打不开则选->open with->资源编辑器,在打开的资源编辑器中,点击添加->前缀->修改前缀为/qss,  再点击添加->添加现有文件->添加上选中我们上面做好的qss文件。完成后效果如下图所示。

3、写程序时需要读取该文件时,右击这个qss文件,选择复制url,即可复制本文件的资源路径,非常方便。

image.png

上一篇:[Qt]信号与槽Demo

下一篇:没有下一篇~

文章评论 (0)



Top