Skip to content

Instantly share code, notes, and snippets.

@fereria
Last active December 9, 2020 15:52
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save fereria/183c3743798ac58153e2 to your computer and use it in GitHub Desktop.
Save fereria/183c3743798ac58153e2 to your computer and use it in GitHub Desktop.
Windowにメニューとツールバーを追加するサンプル
## -*- coding: utf-8 -*-
import sys
from PySide import QtCore, QtGui
from PySide.QtUiTools import QUiLoader
import remitools.lib.qt as remiQt
"""
iconの読み込み。
QtDesignerで、Iconを読み込んで、リソースファイルを作成する(qrcファイル)
それを、PySideのインストールフォルダにある pyside-rcc.exe を通して、Pythonファイルにコンバートしてから
そのコンバートしたpythonファイルをimportで読み込む。
コレを行うことで、QtGui.QIcon(path)で、アイコンを使用することができる。
"""
import iconLoad
class createMenu(QtGui.QMainWindow):
"""
メニューやツールバーを作成する。
メニューとツールバーは、QMainWindowで使用できる(Dialogでは使用できない)
"""
def __init__(self):
super(createMenu, self).__init__(remiQt.getMayaWindow())
self.resize(300,300)
self.createAction()
self.createMenuBar()
self.createToolbar()
def createToolbar(self):
"""
ツールバーを作成する。
作成するにはQMainwindow.addToolBar(Name)で追加下後、AddActionする。
"""
self.toolBar = self.addToolBar("Test")
self.toolBar.addAction(self.testAct)
self.toolBar.addAction(self.testActB)
def createMenuBar(self):
self.fileMenu = self.menuBar().addMenu("&Test")
self.fileMenu.addAction(self.testAct)
self.fileMenu.addAction(self.testActB)
def createAction(self):
"""
アクションを作成する。
triggeredが、ボタンを押したときに実行される関数。
"""
self.testAct = QtGui.QAction(QtGui.QIcon(':/icon/048.png'),
"&TestPrint",
self,statusTip=u"ここに説明を入れる",
triggered=self.testPrint)
self.testActB = QtGui.QAction(QtGui.QIcon(':/icon/049.png'),
"&TestPrintB",
self,statusTip=u"ここに説明を入れるB",
triggered=self.testPrintB)
def testPrint(self):
"""
testActを押したときに実行される関数
"""
print "pushed!!"
def testPrintB(self):
print "B pushed!!"
if __name__ == "__main__":
app = createMenu()
app.show()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment