def setupAdamGui(self): """ setup adam gui - setups adams mainwindow ui - add tree widget to mainwindow """ self.setupUi(self) self.treeWidget = TreeWidget(self.core, self.centralwidget) self.gridLayout.addWidget(self.treeWidget, 0, 0, 1, 1) self.setupSignalsSlots()
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(973, 605) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/icon/jie.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off) MainWindow.setWindowIcon(icon) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.centralwidget) self.verticalLayout_2.setObjectName("verticalLayout_2") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setObjectName("label") self.horizontalLayout.addWidget(self.label) self.HostEdit = QtWidgets.QLineEdit(self.centralwidget) self.HostEdit.setObjectName("HostEdit") self.horizontalLayout.addWidget(self.HostEdit) spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.label_4 = QtWidgets.QLabel(self.centralwidget) self.label_4.setObjectName("label_4") self.horizontalLayout.addWidget(self.label_4) self.PortEdit = QtWidgets.QLineEdit(self.centralwidget) self.PortEdit.setObjectName("PortEdit") self.horizontalLayout.addWidget(self.PortEdit) spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem1) self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setObjectName("label_2") self.horizontalLayout.addWidget(self.label_2) self.UserEdit = QtWidgets.QLineEdit(self.centralwidget) self.UserEdit.setObjectName("UserEdit") self.horizontalLayout.addWidget(self.UserEdit) spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem2) self.label_3 = QtWidgets.QLabel(self.centralwidget) self.label_3.setObjectName("label_3") self.horizontalLayout.addWidget(self.label_3) self.PwdEdit = QtWidgets.QLineEdit(self.centralwidget) self.PwdEdit.setEchoMode(QtWidgets.QLineEdit.Password) self.PwdEdit.setObjectName("PwdEdit") self.horizontalLayout.addWidget(self.PwdEdit) self.ConnectButton = QtWidgets.QPushButton(self.centralwidget) self.ConnectButton.setObjectName("ConnectButton") self.horizontalLayout.addWidget(self.ConnectButton) self.verticalLayout_2.addLayout(self.horizontalLayout) self.splitterV = QtWidgets.QSplitter(self.centralwidget) self.splitterV.setOrientation(QtCore.Qt.Vertical) self.splitterV.setObjectName("splitterV") self.splitterHT = QtWidgets.QSplitter(self.splitterV) self.splitterHT.setOrientation(QtCore.Qt.Horizontal) self.splitterHT.setObjectName("splitterHT") self.TreeWidget = TreeWidget(self.splitterHT) self.TreeWidget.setObjectName("TreeWidget") self.TreeWidget.headerItem().setText(0, "1") self.layoutWidget = QtWidgets.QWidget(self.splitterHT) self.layoutWidget.setObjectName("layoutWidget") self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.DirectorEdit = QtWidgets.QLineEdit(self.layoutWidget) self.DirectorEdit.setReadOnly(True) self.DirectorEdit.setObjectName("DirectorEdit") self.verticalLayout.addWidget(self.DirectorEdit) self.ExplorerWidget = ExplorerWidget(self.layoutWidget) self.ExplorerWidget.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.ExplorerWidget.setColumnCount(4) self.ExplorerWidget.setObjectName("ExplorerWidget") self.ExplorerWidget.setRowCount(0) item = QtWidgets.QTableWidgetItem() self.ExplorerWidget.setHorizontalHeaderItem(0, item) item = QtWidgets.QTableWidgetItem() self.ExplorerWidget.setHorizontalHeaderItem(1, item) item = QtWidgets.QTableWidgetItem() self.ExplorerWidget.setHorizontalHeaderItem(2, item) item = QtWidgets.QTableWidgetItem() self.ExplorerWidget.setHorizontalHeaderItem(3, item) self.verticalLayout.addWidget(self.ExplorerWidget) self.splitterHB = QtWidgets.QSplitter(self.splitterV) self.splitterHB.setOrientation(QtCore.Qt.Horizontal) self.splitterHB.setObjectName("splitterHB") self.TransferWidget = TransferWidget(self.splitterHB) self.TransferWidget.setMinimumSize(QtCore.QSize(473, 0)) self.TransferWidget.setObjectName("TransferWidget") self.TransferWidget.setColumnCount(5) self.TransferWidget.setRowCount(0) item = QtWidgets.QTableWidgetItem() self.TransferWidget.setHorizontalHeaderItem(0, item) item = QtWidgets.QTableWidgetItem() self.TransferWidget.setHorizontalHeaderItem(1, item) item = QtWidgets.QTableWidgetItem() self.TransferWidget.setHorizontalHeaderItem(2, item) item = QtWidgets.QTableWidgetItem() self.TransferWidget.setHorizontalHeaderItem(3, item) item = QtWidgets.QTableWidgetItem() self.TransferWidget.setHorizontalHeaderItem(4, item) self.textEdit = QtWidgets.QTextEdit(self.splitterHB) self.textEdit.setReadOnly(True) self.textEdit.setObjectName("textEdit") self.verticalLayout_2.addWidget(self.splitterV) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 973, 26)) self.menubar.setObjectName("menubar") self.menu = QtWidgets.QMenu(self.menubar) self.menu.setObjectName("menu") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.action_upload = QtWidgets.QAction(MainWindow) self.action_upload.setObjectName("action_upload") self.action_download = QtWidgets.QAction(MainWindow) self.action_download.setObjectName("action_download") self.action_delete = QtWidgets.QAction(MainWindow) self.action_delete.setObjectName("action_delete") self.action_refresh = QtWidgets.QAction(MainWindow) self.action_refresh.setObjectName("action_refresh") self.menu.addAction(self.action_upload) self.menu.addAction(self.action_download) self.menu.addAction(self.action_delete) self.menu.addAction(self.action_refresh) self.menubar.addAction(self.menu.menuAction()) self.retranslateUi(MainWindow) self.ConnectButton.clicked.connect(MainWindow.on_connect_btn_click) self.ExplorerWidget.doubleClicked['QModelIndex'].connect( MainWindow.on_explorer_dbclick) self.ExplorerWidget.customContextMenuRequested['QPoint'].connect( MainWindow.on_explorer_context_menu_requested) QtCore.QMetaObject.connectSlotsByName(MainWindow)
class AdamGui(QtGui.QMainWindow, AdamWindow): """ class represents a QMainWindow based on Ui_AdamWindow - setup gui - provides slots for main menu - setup signals and slots for main menu """ def __init__(self): self.core = AdamCore() QtGui.QMainWindow.__init__(self) AdamWindow.__init__(self) self.treeWidget = None self.filename = None self.setupAdamGui() def setupAdamGui(self): """ setup adam gui - setups adams mainwindow ui - add tree widget to mainwindow """ self.setupUi(self) self.treeWidget = TreeWidget(self.core, self.centralwidget) self.gridLayout.addWidget(self.treeWidget, 0, 0, 1, 1) self.setupSignalsSlots() def openAdaptionDataFile(self): """ slot for opening existing adaption data file - ask for file - close current open adapation - open requested file """ self.filename = QtGui.QFileDialog.getOpenFileName(self, 'Open file') self.closeAdaptionDataFile() self.core.openAdaption(self.filename) def newAdaptionDataFile(self): """ slot for creating new adaption data file - ask for grammar file for new adaption data - setup tree widget """ grammarfilename = QtGui.QFileDialog.getOpenFileName(self, 'Open file', './grammar/' ) self.core.openGrammar(grammarfilename) self.treeWidget.setupTree() def closeAdaptionDataFile(self): """ slot for closing currently opened adaption data file """ self.core.closeAdaption() def saveAdaptionDataFile(self): """ slot for saving adaption data file - if filename is not defined, saveAs will be called """ if self.filename is not None: self.core.saveAdaption(self.filename, self.treeWidget) else: self.saveAsAdaptionDataFile() def saveAsAdaptionDataFile(self): """ slot for saving adaption data file (ask for destination before saving) - ask for file to save into """ self.filename = QtGui.QFileDialog.getOpenFileName(self, 'Save file as') self.core.saveAdaption(self.filename, self.treeWidget) def exportAdaptionDataAs(self): """ slot for exporting adaption data """ def setupSignalsSlots(self): """ setup signal and slots """ self.actionNew.triggered.connect(lambda: self.newAdaptionDataFile()) self.actionOpen.triggered.connect(lambda: self.openAdaptionDataFile()) self.actionClose.triggered.connect(lambda: self.closeAdaptionDataFile()) self.actionSave.triggered.connect(lambda: self.saveAdaptionDataFile()) self.actionSaveAs.triggered.connect(lambda: self.saveAsAdaptionDataFile()) self.actionExport.triggered.connect(lambda: self.exportAdaptionDataAs()) self.actionExit.triggered.connect(lambda: self.close())