qt界面布局之Push Button的使用规则

1、调色网页,rgb的网页:http://www.360doc.com/content/12/0115/10/7695942_179488602.shtml

2、给按钮设置背景色

在构造函数中加入:

 ui->pushButton->setStyleSheet("background-color: rgb(255,215,0)");

将按钮设置为圆角形状:

 ui->pushButton->setStyleSheet ("border:2px groove gray;border-radius:10px;padding:2px 4px;");

3、设置按钮的大小:

 ui->pushButton->resize(80, 30);

4、按钮的样式设计:(一般放在构造函数中进行设计)

 //第一种样式
    ui->pushButton->setStyleSheet(//正常状态样式
                                  "QPushButton{"
                                  "background-color:rgba(34,139,34);"//背景色(也可以设置图片)
                                  "border-style:outset;"                  //边框样式(inset/outset)
                                  "border-width:4px;"                     //边框宽度像素
                                  "border-radius:10px;"                   //边框圆角半径像素
                                  "border-color:rgba(255,255,255,30);"    //边框颜色
                                  "font:bold 11px;"                       //字体,字体大小
                                  "color:rgba(0,0,0,100);"                //字体颜色
                                  "padding:6px;"                          //填衬
                                  "}"
                                  //鼠标按下样式
                                  "QPushButton:pressed{"
                                  "background-color:rgba(100,255,100,200);"
                                  "border-color:rgba(255,255,255,30);"
                                  "border-style:inset;"
                                  "color:rgba(0,0,0,100);"
                                  "}"
                                  //鼠标悬停样式
                                  "QPushButton:hover{"
                                  "background-color:rgba(100,255,100,100);"
                                  "border-color:rgba(255,255,255,200);"
                                  "color:rgba(0,0,0,200);"
                                  "}");
 //第二种样式及用法
    QString btnStyle2 =
            "QPushButton{\
                color: rgb(255, 255, 255);\
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgb(166,164,208), stop:0.3 rgb(171,152,230), stop:1 rgb(152,140,220));\
                border:1px;\
                border-radius:10px; /*border-radius控制圆角大小*/\
                padding:6px;\
            }\
            QPushButton:hover{\
                color: rgb(255, 255, 255); \
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgb(130,120,226), stop:0.3 rgb(120,130,230), stop:1 rgb(125,140,226));\
                border:1px;  \
                border-radius:10px; /*border-radius控制圆角大小*/\
                padding:2px 4px; \
            }\
            QPushButton:pressed{    \
                color: rgb(255, 255, 255); \
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgb(240,156,121), stop:0.3 rgb(220,160,140), stop:1 rgb(230,140,120));  \
                border:1px;  \
                border-radius:5px; /*border-radius控制圆角大小*/\
                padding:2px 4px; \
            }";
     ui->pushButton_2->setStyleSheet(btnStyle2);

1、设计了一款界面,也是根据网上的资料整合设计出来的,界面如图所示:

在.h文件中:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QPixmap>
#include <QPainter>
#include <QRect>
#include <QLabel>
#include <QMouseEvent>
#include <QPoint>
#include <QMessageBox>
#include "Qwidget.h"

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

public slots:
    //void RunGame(); //运行游戏

private:
    Ui::MainWindow *ui;
    virtual void paintEvent(QPaintEvent *event);
    QPixmap *m_backGroundImage;
    bool m_dragging;    //判断是否拖动
    QPoint m_startPosition; //拖动开始前的鼠标位置
    QPoint m_framePosition; //窗体的原始位置
    QWidget *gameWidget; //副本界面
protected:
    virtual void mouseMoveEvent ( QMouseEvent * event );
    virtual void mousePressEvent ( QMouseEvent * event );
    virtual void mouseReleaseEvent ( QMouseEvent * event );

};

#endif // MAINWINDOW_H

 具体参考博客:https://download.csdn.net/download/littlehero_121/11762075

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值