Qt-样式表设置不规则按钮

普通的按钮风格设置也能设置一些按钮的样式,但是总是不尽理想。例如:

    //把图片加载到按钮上
    ui->ButtonClose->setIcon(QPixmap(":/new/image/142089.png"));
    //设置图片的大小
    ui->ButtonClose->setIconSize(QSize(50,50));
    //设置按钮为隐藏
    ui->ButtonClose->setFlat(true);
    //设置按钮的大小
    //ui->ButtonClose->setFixedSize(50,50);
    ui->ButtonClose->resize(50,50);

这样可以把按钮设置成不规则的形状,(注意:图片的背景要是透明的),下面有样张,这样可以把按钮设置成这样


但是会发现有一个缺点,就是在按钮按下的时候会出现边框,这是按钮自带的边框,消除不掉,除非去掉按钮按下的动作状态,这样会看不出来按钮的边框,但是会出现看不出来到底有没有按下按钮。

样式表对于界面的设计的来说很强大,我们可以通过样式表来设置各种各样的风格,话不多说,接下来来看看样式表如何设置不规则的按钮吧。

    //设置按钮的大小
    ui->ButtonClose->resize(50,50);
    //通过样式表设置按钮正常状态显示的图片和按下时显示的图片
    ui->ButtonClose->setStyleSheet("QPushButton{"
                                   "border-image:url(:/new/image/142089.png)}"
                                   "QPushButton:pressed{"
                                   "border-image:url(:/new/image/1420891.png)}");

通过把一张图片颜色加深,来替换成按钮按下时的图片,这样就能够使按钮在按下时也带有效果。解决了上面设置的缺点。

两张不同深度的图片:



猜你喜欢

转载自blog.csdn.net/sinan1995/article/details/80079228