Guide:Mod Organizer/Python Plugins: Difference between revisions
From Step Mods | Change The Game
No edit summary |
|||
Line 25: | Line 25: | ||
==Hello World app== | |||
still got a bug in there, but it the source gives you an idea how a simple plugin will work: | still got a bug in there, but it the source gives you an idea how a simple plugin will work: | ||
Revision as of 20:07, December 23, 2013
How to add Python plugins to Mod Organizer
requirements
- MS Windows and MO ^^
- python 2.7 programming language (32 Bit): http://www.python.org/download/releases/2.7.6/
requirements for user interface (optional)
- Qt Framework - includes the Qt Designer (creates .ui files)
- direct link (mingw version)
- an IDE (like VisualC, MinGw) is not necessary for this purpose and can be skipped during install
- PyQt4 - dev files for Qt usage in python 2.7
PyQt4 comes with pyuic
Location: Python27\Lib\site-packages\PyQt4\uic\pyuic.py
it generates .py commands from a Qt4 .ui file:
pyuic.py YOURDESIGN.ui > YOURDESIGN.py
Hello World app
still got a bug in there, but it the source gives you an idea how a simple plugin will work:
import os import sys from PyQt4 import QtCore, QtGui from PyQt4.QtCore import Qt, pyqtWrapperType, pyqtSlot, pyqtSignal from PyQt4.QtGui import QDialog, QHeaderView, QMessageBox, QColorDialog, QPalette, QTreeWidgetItem,\ QComboBox, QPushButton, QDoubleSpinBox, QHBoxLayout, QWidget, QSlider, QSpinBox, QLineEdit pyqt5 = False if not "mobase" in sys.modules: import mock_mobase as mobase class YourHelloWorldPlugin(mobase.IPluginTool): def init(self, organizer): #self.__organizer = organizer self.__parentWidget = None return True def name(self): return "HelloWorld" def author(self): return "plugin creator" def description(self): return "Hello World-Plugin to show you how it's done." def version(self): #return mobase.VersionInfo(0, 0, 1, mobase.ReleaseType.prealpha) return True def isActive(self): return True def settings(self): return [] def displayName(self): return "HelloWorld" def tooltip(self): return "Modify game Configuration" def createPlugin(): return YourHelloWorldPlugin()
if you place a file with a similiar structure inside the /plugins/ dir, MO will automatically find it and add it to the tools list.