C++跨平台库QT学习2 布局与qss

C++跨平台库QT学习2 布局与qss

  • 一、QT的布局
  • 二、qss 样式表
    • 1. 在单个控件上定义qss
    • 2. 定义全局样式
    • 3. 定义单独的样式表文件
      • 在项目下新建一个样式表文件 main.qss
      • 在资源文件上右键,选择添加现有文件
      • 代码调用qss文件

一、QT的布局

qt 有4种布局方式:

  1. Vertical Layout
  2. Horizontal Layout
  3. Grid Layout
  4. Form Layout
    C++跨平台库QT学习2 布局与qss_第1张图片
    下面图中演示这几种布局的区别:
    C++跨平台库QT学习2 布局与qss_第2张图片

布局一般的方式是拖布局到界面上,然后放入控件即可。
但Grid控件要注意,它必须先把控件摆好,再点菜单栏的布局按钮。
C++跨平台库QT学习2 布局与qss_第3张图片

二、qss 样式表

qss样式表是以css的方式来定义 qt 的布局,使得QT的布局变得非常容易。

1. 在单个控件上定义qss

在控件上点右键,选择改变样式表
C++跨平台库QT学习2 布局与qss_第4张图片
输入下面的样式表:
C++跨平台库QT学习2 布局与qss_第5张图片

QPushButton{
    color:red;
}

2. 定义全局样式

在窗体上点右键,选择编辑样式表:

C++跨平台库QT学习2 布局与qss_第6张图片
C++跨平台库QT学习2 布局与qss_第7张图片

输入样式表文件 。

3. 定义单独的样式表文件

在项目下新建一个样式表文件 main.qss

QPushButton{
    color:yellow;
}

C++跨平台库QT学习2 布局与qss_第8张图片

在资源文件上右键,选择添加现有文件

选中刚新建的qss文件。
C++跨平台库QT学习2 布局与qss_第9张图片
C++跨平台库QT学习2 布局与qss_第10张图片

代码调用qss文件

这里在main.cpp里全局调用qss样式表文件:
C++跨平台库QT学习2 布局与qss_第11张图片

#include "mainwindow.h"

#include 
#include 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    QFile file(":/main.qss");
    file.open(QFile::ReadOnly);
    if (file.isOpen())
    {
       qApp->setStyleSheet(file.readAll());
    }

    return a.exec();
}

你可能感兴趣的:(QT)