Qt で使用可能な組み込みアイコン QSystemTrayIcon
Qtにはデフォルトで組み込まれているアイコンがいくつかあります。
QStyleのstandardIconやstandardPixmap関数の引数に渡してやれば指定した種類のアイコンがQIconやQPixmapで取得することができます。
今回はそのアイコンを一覧で確認できるコードを作りました。
コードをコピーしてmayaで実行すると確認できます。
from Qt.QtGui import* from Qt.QtCore import* from Qt.QtWidgets import* class Example(QWidget): def __init__(self): super(Example, self).__init__() self.initUI() self.Button() def initUI(self): style = self.style() icon = style.standardIcon(QStyle.SP_TitleBarMenuButton) self.tray_icon = QSystemTrayIcon() self.tray_icon.setIcon(QIcon(icon)) self.setWindowIcon(QIcon(icon)) self.setGeometry(300, 300, 300, 300) def Button(self): Styles = [ 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_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 ] StylesText = [ "SP_TitleBarMinButton", "SP_TitleBarMenuButton", "SP_TitleBarMaxButton", "SP_TitleBarCloseButton", "SP_TitleBarNormalButton", "SP_TitleBarShadeButton", "SP_TitleBarUnshadeButton", "SP_TitleBarContextHelpButton", "SP_MessageBoxInformation", "SP_MessageBoxWarning", "SP_MessageBoxCritical", "SP_MessageBoxQuestion", "SP_DesktopIcon", "SP_TrashIcon", "SP_ComputerIcon", "SP_DriveFDIcon", "SP_DriveHDIcon", "SP_DriveCDIcon", "SP_DriveDVDIcon", "SP_DriveNetIcon", "SP_DirHomeIcon", "SP_DirOpenIcon", "SP_DirClosedIcon", "SP_DirIcon", "SP_DirLinkIcon", "SP_FileIcon", "SP_FileLinkIcon", "SP_FileDialogStart", "SP_FileDialogEnd", "SP_FileDialogToParent", "SP_FileDialogNewFolder", "SP_FileDialogDetailedView", "SP_FileDialogInfoView", "SP_FileDialogContentsView", "SP_FileDialogListView", "SP_FileDialogBack", "SP_DockWidgetCloseButton", "SP_ToolBarHorizontalExtensionButton", "SP_ToolBarVerticalExtensionButton", "SP_DialogOkButton", "SP_DialogCancelButton", "SP_DialogHelpButton", "SP_DialogOpenButton", "SP_DialogSaveButton", "SP_DialogCloseButton", "SP_DialogApplyButton", "SP_DialogResetButton", "SP_DialogDiscardButton", "SP_DialogYesButton", "SP_DialogNoButton", "SP_ArrowUp", "SP_ArrowDown", "SP_ArrowLeft", "SP_ArrowRight", "SP_ArrowBack", "SP_ArrowForward", "SP_CommandLink", "SP_VistaShield", "SP_BrowserReload", "SP_BrowserStop", "SP_MediaPlay", "SP_MediaStop", "SP_MediaPause", "SP_MediaSkipForward", "SP_MediaSkipBackward", "SP_MediaSeekForward", "SP_MediaSeekBackward", "SP_MediaVolume", "SP_MediaVolumeMuted" ] btn = [QToolButton(self) for i in range(len(Styles))] self.myHLayout = QGridLayout() j = 0 k = 0 style = self.style() for i in range(len(Styles)): btn[i].setText("%s" % (StylesText[i])) btn[i].setToolButtonStyle(Qt.ToolButtonTextUnderIcon) icon = style.standardIcon(Styles[i]) btn[i].setIcon(QIcon(icon)) self.myHLayout.addWidget(btn[i], j, k) if i == 0: pass elif 0 == i % 5: j += 1 k = 0 else: k += 1 self.setLayout(self.myHLayout) def main(): app = QApplication.instance() ex = Example() ex.show() sys.exit() app.exec_() if __name__ == '__main__': main()
簡単なUIを作成する際にぜひ、使ってみてください!
ディスカッション
コメント一覧
まだ、コメントがありません