first try

This commit is contained in:
Jan Grewe 2020-12-26 13:01:02 +01:00
commit 2e52cc3e6c
12 changed files with 103 additions and 0 deletions

BIN
icons/nix_close.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
icons/nix_fav1_cut.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
icons/nix_logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
icons/nix_open.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
icons/nixview.icns Normal file

Binary file not shown.

BIN
icons/nixview.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
icons/nixview128.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
icons/nixview256.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
icons/nixview32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
icons/nixview64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

14
main.py Normal file
View File

@ -0,0 +1,14 @@
import sys
from PyQt5.QtWidgets import QApplication
from main_window import NixView
import argparse
def main():
app = QApplication(sys.argv)
window = NixView()
window.show()
app.exec()
return 0
if __name__ == "__main__":
main()

89
main_window.py Normal file
View File

@ -0,0 +1,89 @@
from PyQt5.QtWidgets import QFrame, QLabel, QListWidget, QMainWindow, QStackedLayout, QToolBar, QAction, QStatusBar, QVBoxLayout, QWidget, QGridLayout, QSpacerItem, QSizePolicy
from PyQt5.QtGui import QIcon, QPixmap
from PyQt5.QtCore import Qt, QSize
import typing
class NixView(QMainWindow):
def __init__(self, *args, **kwargs):
super(NixView, self).__init__(*args, **kwargs)
self.setWindowTitle("NixView")
cw = CentralWidget(self)
self.setCentralWidget(cw)
self.create_actions()
self.setStatusBar(QStatusBar(self))
def create_actions(self):
self._file_open_action = QAction(QIcon("./icons/nix_open.png"), "Open", self)
self._file_open_action.setStatusTip("Open nix file")
self._file_open_action.triggered.connect(self.onFileOpenClick)
self._file_close_action = QAction(QIcon("./icons/nix_close.png"), "Close", self)
self._file_close_action.setStatusTip("Close nix file")
self._file_close_action.triggered.connect(self.onFileCloseClick)
self.create_toolbar()
self.create_menu()
def create_toolbar(self):
self._toolbar = QToolBar("My main toolbar")
self._toolbar.setIconSize(QSize(32, 32))
self._toolbar.addAction(self._file_open_action)
self._toolbar.addAction(self._file_close_action)
self.addToolBar(self._toolbar)
def create_menu(self):
pass
def onFileOpenClick(self, s):
print("click", s)
def onFileCloseClick(self, s):
print("click", s)
class CentralWidget(QWidget):
def __init__(self, parent=None) -> None:
super().__init__(parent=parent)
splash = SplashScreen()
stack = QStackedLayout(self)
stack.addWidget(splash)
self.setLayout(stack)
self.setStyleSheet("background-color: white;")
class SplashScreen(QWidget):
def __init__(self, parent=None) -> None:
super().__init__(parent=parent)
layout = QGridLayout()
self.setLayout(layout)
self.setStyleSheet("background-color: red;")
label = QLabel()
label.setPixmap(QPixmap("./icons/nixview256.png"))
label.setAlignment(Qt.AlignCenter)
layout.addWidget(label, 1, 1)
verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
verticalSpacer2 = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
hSpacer = QSpacerItem(400, 20, QSizePolicy.Maximum, QSizePolicy.Expanding)
hSpacer2 = QSpacerItem(400, 20, QSizePolicy.Maximum, QSizePolicy.Expanding)
layout.addItem(verticalSpacer, 0, 1)
layout.addItem(verticalSpacer2, 2, 1)
layout.addItem(hSpacer, 1, 0)
layout.addItem(hSpacer2, 1, 2)
frame = QFrame()
l = QVBoxLayout()
l.addWidget(QLabel("Recently opened files:"))
l.addWidget(QListWidget())
frame.setLayout(l)
layout.addWidget(frame, 3, 1)