栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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 
#include 

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 
#include 

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

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

    MainWindow w;
    w.show();

    return a.exec();
}

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

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/702582.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号