0
点赞
收藏
分享

微信扫一扫

Qt的QStyle类的标准图标汇总

村里搬砖的月野兔 2022-01-03 阅读 115

Qt的QStyle类的标准图标用代码显示在界面如下:

#include "QtWidgetsApplication1.h"
#include<QPushButton>
#include<QStyle>
#include <QGridLayout> 
QtWidgetsApplication1::QtWidgetsApplication1(QWidget *parent)
    : QWidget(parent)
{
    ui.setupUi(this);

    QGridLayout* layout = new QGridLayout();
    this->setLayout(layout);

     QStyle::StandardPixmap a[] = {
       QStyle::SP_TitleBarMinButton,
        QStyle::SP_TitleBarMenuButton,
        QStyle::SP_TitleBarMaxButton,
        QStyle::SP_TitleBarCloseButton,
        QStyle::SP_TitleBarNormalButton,
        QStyle::SP_TitleBarShadeButton,
        QStyle::SP_TitleBarUnshadeButton,
        QStyle::SP_TitleBarContextHelpButton,
        QStyle::SP_MessageBoxInformation,
        QStyle::SP_MessageBoxWarning,
        QStyle::SP_MessageBoxCritical,
        QStyle::SP_MessageBoxQuestion,
        QStyle::SP_DesktopIcon,
        QStyle::SP_TrashIcon,
        QStyle::SP_ComputerIcon,
        QStyle::SP_DriveFDIcon,
        QStyle::SP_DriveHDIcon,
        QStyle::SP_DriveCDIcon,
        QStyle::SP_DriveDVDIcon,
        QStyle::SP_DriveNetIcon,
        QStyle::SP_DirHomeIcon,
        QStyle::SP_DirOpenIcon,
        QStyle::SP_DirClosedIcon,
        QStyle::SP_DirIcon,
        QStyle::SP_DirLinkIcon,
        QStyle::SP_DirLinkOpenIcon,
        QStyle::SP_FileIcon,
        QStyle::SP_FileLinkIcon,
        QStyle::SP_FileDialogStart,
        QStyle::SP_FileDialogEnd,
        QStyle::SP_FileDialogToParent,
        QStyle::SP_FileDialogNewFolder,
        QStyle::SP_FileDialogDetailedView,
        QStyle::SP_FileDialogInfoView,
        QStyle::SP_FileDialogContentsView,
        QStyle::SP_FileDialogListView,
        QStyle::SP_FileDialogBack,
        QStyle::SP_DockWidgetCloseButton,
        QStyle::SP_ToolBarHorizontalExtensionButton,
        QStyle::SP_ToolBarVerticalExtensionButton,
        QStyle::SP_DialogOkButton,
        QStyle::SP_DialogCancelButton,
        QStyle::SP_DialogHelpButton,
        QStyle::SP_DialogOpenButton,
        QStyle::SP_DialogSaveButton,
        QStyle::SP_DialogCloseButton,
        QStyle::SP_DialogApplyButton,
        QStyle::SP_DialogResetButton,
        QStyle::SP_DialogDiscardButton,
        QStyle::SP_DialogYesButton,
        QStyle::SP_DialogNoButton,
        QStyle::SP_ArrowUp,
        QStyle::SP_ArrowDown,
        QStyle::SP_ArrowLeft,
        QStyle::SP_ArrowRight,
        QStyle::SP_ArrowBack,
        QStyle::SP_ArrowForward,
        QStyle::SP_CommandLink,
        QStyle::SP_VistaShield,
        QStyle::SP_BrowserReload,
        QStyle::SP_BrowserStop,
        QStyle::SP_MediaPlay,
        QStyle::SP_MediaStop,
        QStyle::SP_MediaPause,
        QStyle::SP_MediaSkipForward,
        QStyle::SP_MediaSkipBackward,
        QStyle::SP_MediaSeekForward,
        QStyle::SP_MediaSeekBackward,
        QStyle::SP_MediaVolume,
        QStyle::SP_MediaVolumeMuted,
        QStyle::SP_LineEditClearButton,
        QStyle::SP_DialogYesToAllButton,
        QStyle::SP_DialogNoToAllButton,
        QStyle::SP_DialogSaveAllButton,
        QStyle::SP_DialogAbortButton,
        QStyle::SP_DialogRetryButton,
        QStyle::SP_DialogIgnoreButton,
        QStyle::SP_RestoreDefaultsButton,
        QStyle::SP_CustomBase,
    };

    const int nPerColCount = 6;
    auto nIconCount = sizeof a / sizeof a[0];
    for (auto nIconIndex = 0; nIconIndex < nIconCount; ++nIconIndex)
    {
        QPushButton* pBtn = new QPushButton(this);
        auto icon = this->style()->standardIcon(a[nIconIndex]);
        pBtn->setIcon(icon);
        int nColIndex = nIconIndex % nPerColCount;
        int nRowInex = nIconIndex / nPerColCount;
        layout->addWidget(pBtn, nRowInex, nColIndex);
    }
}

显示如下:

一共79个, 最后的以SP_Dialog开头的图标不知道为何不能显示出来,最后用于自定义的图标基数的QStyle::SP_CustomBase也不会显示。

举报

相关推荐

0 条评论