forked from bhowiebkr/python-node-editor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
65 lines (48 loc) · 1.9 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import sys
from PySide2 import QtWidgets, QtCore, QtGui
import logging
import os
from node_editor.gui.node_widget import NodeWidget
from node_editor.gui.palette import palette
from node_editor.gui.node_list import NodeList
logging.basicConfig(level=logging.DEBUG)
class NodeEditor(QtWidgets.QMainWindow):
def __init__(self, parent=None):
super(NodeEditor, self).__init__(parent)
self.settings = None
icon = QtGui.QIcon("resources\\app.ico")
self.setWindowIcon(icon)
self.setWindowTitle("Logic Node Editor")
settings = QtCore.QSettings("node-editor", "NodeEditor")
# Layouts
main_widget = QtWidgets.QWidget()
main_layout = QtWidgets.QHBoxLayout()
self.node_list = NodeList()
self.splitter = QtWidgets.QSplitter()
self.setCentralWidget(main_widget)
main_widget.setLayout(main_layout)
self.node_widget = NodeWidget(self)
main_layout.addWidget(self.splitter)
self.splitter.addWidget(self.node_list)
self.splitter.addWidget(self.node_widget)
try:
self.restoreGeometry(settings.value("geometry"))
s = settings.value("splitterSize")
self.splitter.restoreState(s)
except AttributeError as e:
logging.warning(
"Unable to load settings. First time opening the tool?\n" + str(e)
)
def closeEvent(self, event):
self.settings = QtCore.QSettings("node-editor", "NodeEditor")
self.settings.setValue("geometry", self.saveGeometry())
self.settings.setValue("splitterSize", self.splitter.saveState())
QtWidgets.QWidget.closeEvent(self, event)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
app.setWindowIcon(QtGui.QIcon("resources\\app.ico"))
app.setPalette(palette)
launcher = NodeEditor()
launcher.show()
app.exec_()
sys.exit()