Guide:Mod Organizer/Python Plugins: Difference between revisions
From Step Mods | Change The Game
mNo edit summary |
m (Text replacement - "\" to "/") |
||
Line 18: | Line 18: | ||
PyQt4 comes with '''pyuic''' | PyQt4 comes with '''pyuic''' | ||
Location: Python27 | Location: Python27/Lib/site-packages/PyQt4/uic/pyuic.py | ||
it generates .py commands from a Qt4 .ui file: | it generates .py commands from a Qt4 .ui file: | ||
Line 33: | Line 33: | ||
from PyQt4 import QtCore, QtGui | from PyQt4 import QtCore, QtGui | ||
from PyQt4.QtCore import Qt, pyqtWrapperType, pyqtSlot, pyqtSignal | from PyQt4.QtCore import Qt, pyqtWrapperType, pyqtSlot, pyqtSignal | ||
from PyQt4.QtGui import QDialog, QHeaderView, QMessageBox, QColorDialog, QPalette, QTreeWidgetItem, | from PyQt4.QtGui import QDialog, QHeaderView, QMessageBox, QColorDialog, QPalette, QTreeWidgetItem,/ | ||
QComboBox, QPushButton, QDoubleSpinBox, QHBoxLayout, QWidget, QSlider, QSpinBox, QLineEdit | QComboBox, QPushButton, QDoubleSpinBox, QHBoxLayout, QWidget, QSlider, QSpinBox, QLineEdit | ||
pyqt5 = False | pyqt5 = False |
Revision as of 18:31, March 23, 2021
How to add Python plugins to Mod Organizer
requirements
- MS Windows and MO ^^
- python 2.7 programming language (32 Bit): https://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 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.