Qt学习笔记(二)【软件样式及界面外观设置】

Qt是一个跨平台的类库,相同的界面组件在不同的操作系统上显示效果是不一样的。

在windows7系统中,默认样式有:windows,fusion两个;通过安装Qt Creator编译器后,系统中会自动添加windowsvista样式,通常在Qt Creator编译器中设计界面时,组件的默认样式就是windowsvista样式,看起来比较美观。

当我们在自己电脑上开发完应用程序后,在其他电脑上使用时,会发现软件界面风格和在自己本机上运行时不太一致时,很有可能就是其他电脑上只有windows,fusion两个样式,默认使用windows样式,而没有windowsvista样式,导致的;一般通过安装Qt Creator编译器后即可解决。

在为应用程序设置样式时,一般会使用到如下函数:

(1)可以通过keys()函数,获取所在平台支持的QStyle的样式列表;该函数返回一个字符串列表;

QStringList QStyleFactory::keys()

(2)可以通过create函数,创建一个QStyle对象;

QStyle *QStyleFactory::create(const QString &key)

(3)可以通过setStyle函数为应用程序设置一个样式,设置样式后,界面元素都具有这个样式所定义的外观可以获得这个缺省样式的名称;

void QApplication::setStyle(QStyle *style)

示例一:

#include "mainwindow.h"
#include <QApplication>
#include <QStyleFactory>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    // 设置应用程序样式代码
    QStyle *style=QStyleFactory::create("windowsvista");  // windows,fusion
    a.setStyle(style);

    MainWindow w;
    w.show();

    return a.exec();
}

示例二:

#include "mainwindow.h"
#include <QApplication>
#include <QStyleFactory>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QList<QString> styleSet= QStyleFactory::keys();  // windowsvista, windows, fusion
    QStyle *style=QStyleFactory::create(styleSet[0]);
    a.setStyle(style);

    MainWindow w;
    w.show();

    return a.exec();
}

其中styleSet变量包含元素如下: 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值