def __init__(self, fixtures_folder, parent=None): QWidget.__init__(self, parent) self.current_fixture = None self.fixtures_folder = fixtures_folder self.setWindowTitle("Frangitron DMX program editor") self.text = QPlainTextEdit() font = QFont("Monospace") font.setStyleHint(QFont.TypeWriter) font.setPixelSize(16) self.text.setFont(font) self.text.setStyleSheet( "color: white; background-color: rgb(30, 30, 30)") self.combo_fixture = QComboBox() self.frame_programs = QWidget() self.checkboxes_programs = list() self.layout_programs = QGridLayout(self.frame_programs) self.spinner_offset = QSpinBox() self.spinner_offset.setMinimum(1) self.spinner_offset.setMaximum(512) self.spinner_offset.setValue(1) self.spinner_offset.valueChanged.connect(self.address_changed) self.doc = QPlainTextEdit() self.doc.setReadOnly(True) self.doc.setFont(font) self.status = QLabel() layout = QGridLayout(self) layout.addWidget(self.combo_fixture, 0, 1) layout.addWidget(self.spinner_offset, 0, 2) layout.addWidget(self.frame_programs, 1, 1) layout.addWidget(self.text, 0, 0, 3, 1) layout.addWidget(self.doc, 2, 1, 1, 2) layout.addWidget(self.status, 3, 0, 1, 3) layout.setColumnStretch(0, 60) layout.setColumnStretch(1, 40) self.resize(1280, 800) self.streamer = Streamer(self.fixtures_folder) self.combo_fixture.addItems(sorted(self.streamer.fixtures)) self.combo_fixture.currentIndexChanged.connect(self.fixture_changed) self.timer = QTimer() self.timer.timeout.connect(self.tick) self.timer.start(500.0 / FRAMERATE) self.should_reload = True self.fixture_changed()
def __init__(self): super(STM32FProgrammerDialog, self).__init__(CWMainGUI.getInstance()) # self.setWindowFlags(self.windowFlags() | Qt.WindowStaysOnTopHint) self.stm32f = STM32FProgrammer() self.setWindowTitle("Serial STM32F Programmer") layout = QVBoxLayout() layoutFW = QHBoxLayout() self.flashLocation = QtFixes.QLineEdit() flashFileButton = QPushButton("Find") flashFileButton.clicked.connect(self.findFlash) layoutFW.addWidget(QLabel("FLASH File")) layoutFW.addWidget(self.flashLocation) layoutFW.addWidget(flashFileButton) layout.addLayout(layoutFW) self.flashLocation.setText(QSettings().value("stm32f-flash-location")) # Add buttons readSigBut = QPushButton("Check Signature") readSigBut.clicked.connect(self.readSignature) verifyFlashBut = QPushButton("Verify FLASH") verifyFlashBut.clicked.connect(self.verifyFlash) verifyFlashBut.setEnabled(False) progFlashBut = QPushButton("Erase/Program/Verify FLASH") progFlashBut.clicked.connect(self.writeFlash) layoutBut = QHBoxLayout() layoutBut.addWidget(readSigBut) layoutBut.addWidget(verifyFlashBut) layoutBut.addWidget(progFlashBut) layout.addLayout(layoutBut) layoutsetting = QHBoxLayout() mode = QComboBox() mode.addItem("fast", False) mode.addItem("slow", True) mode.currentIndexChanged.connect(self.modechanged) layoutsetting.addWidget(QLabel("Speed:")) layoutsetting.addWidget(mode) blocksize = QComboBox() blocksize.addItem("256", False) blocksize.addItem("64", True) blocksize.currentIndexChanged.connect(self.blocksizechanged) layoutsetting.addStretch() layoutsetting.addWidget(QLabel("Read Block Size:")) layoutsetting.addWidget(blocksize) layout.addLayout(layoutsetting) # Add status stuff self.statusLine = QPlainTextEdit() self.statusLine.setReadOnly(True) # self.statusLine.setFixedHeight(QFontMetrics(self.statusLine.font()).lineSpacing() * 5 + 10) self.stm32f.newTextLog.connect(self.append) layout.addWidget(self.statusLine) # Set dialog layout self.setLayout(layout)
def __init__(self, parent, template=LICENSE_TEXT, templateMap=LICENSE_TEMPLATE_MAP, titleText='License', flagSettingName='acceptedLicense'): ''' ''' super(OnceDialog, self).__init__(parent) self.template = template self.templateMap = templateMap self.titleText = titleText self.flagSettingName = flagSettingName self.scrollingText = QPlainTextEdit(self.filledTemplatedText(), parent=self) # buttons buttonBox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) # One scrolling text widget layout = QGridLayout() layout.addWidget(self.scrollingText) layout.addWidget(buttonBox) self.setLayout(layout) self.setWindowTitle(self.tr(self.titleText)) # connections buttonBox.accepted.connect(self.accept) buttonBox.rejected.connect(self.reject) self.setGeometry(0, 0, 600, 480)
def testPropertyValues(self): app = QApplication(sys.argv) textEdit = QPlainTextEdit() textEdit.insertPlainText("PySide INdT") selection = QTextEdit.ExtraSelection() selection.cursor = textEdit.textCursor() selection.cursor.setPosition(2) self.assertEqual(selection.cursor.position(), 2)
def __init__(self, parent=None): QWidget.__init__(self, parent) self.setLayout(QVBoxLayout(self)) self.text_display = QPlainTextEdit(self) self.text_display.setReadOnly(True) self.layout().addWidget(self.text_display) self.text_input = QLineEdit(self) self.text_input.returnPressed.connect(self.send_text) self.layout().addWidget(self.text_input) QWidget.setTabOrder(self.text_input, self.text_display) self.setEnabled(False) self.message.emit('Not connected') self._connection = None
def _create_changes(self): c=QPlainTextEdit() c.setReadOnly(True) txt='' for i in range(10): for a,d,m in self.changes: txt+='<p>{} {}</p><p><b><pre> {}</pre></b></p>'.format(a,d, m) c.appendHtml(txt) cur=c.textCursor() cur.movePosition(QtGui.QTextCursor.Start) c.setTextCursor(cur) c.ensureCursorVisible() return c
def __init__(self, parent=None): QWidget.__init__(self, parent) layout = QVBoxLayout(self) horiz_layout = QHBoxLayout() self.conditional_legend_widget = EdgeWidget(self, True) self.conditional_legend_widget.setMinimumHeight(15) horiz_layout.addWidget(self.conditional_legend_widget) self.conditional_legend_label = QLabel("Conditional transition", self) horiz_layout.addWidget(self.conditional_legend_label) self.unconditional_legend_widget = EdgeWidget(self, False) self.unconditional_legend_widget.setMinimumHeight(15) horiz_layout.addWidget(self.unconditional_legend_widget) self.unconditional_legend_label = QLabel("Non-conditional transition", self) horiz_layout.addWidget(self.unconditional_legend_label) layout.addLayout(horiz_layout) self.splitter = QSplitter(self) layout.addWidget(self.splitter) self.view = ClassyView(self.splitter) # layout.addWidget(self.view) self.scene = ClassyScene(self) self.view.setScene(self.scene) self._menu_bar = QMenuBar(self) self._menu = QMenu("&File") self._menu_bar.addMenu(self._menu) layout.setMenuBar(self._menu_bar) self.open_action = QAction("O&pen", self) self.exit_action = QAction("E&xit", self) self._menu.addAction(self.open_action) self._menu.addAction(self.exit_action) self.connect(self.open_action, SIGNAL("triggered()"), self.open_file) self.connect(self.exit_action, SIGNAL("triggered()"), self.close) self.settings = QSettings("CD Projekt RED", "TweakDB") self.log_window = QPlainTextEdit(self.splitter) self.splitter.setOrientation(Qt.Vertical) self.setWindowTitle("Classy nodes")
def __init__(self, text): super(GosubPopupWidget, self).__init__() self.setWindowFlags(Qt.ToolTip) layout = QVBoxLayout() if text: self.text = QPlainTextEdit() self.text.setPlainText(text) else: self.text = QLabel('Invalid Gosub') self.text.setStyleSheet('QLabel {color: green; font-size: 30px}') layout.addWidget(self.text) self.setLayout(layout) self.resize(500, 300)
def __init__(self): super(XMEGAProgrammerDialog, self).__init__(CWMainGUI.getInstance()) # self.setWindowFlags(self.windowFlags() | Qt.WindowStaysOnTopHint) self.xmega = XMEGAProgrammer() self.setWindowTitle("ChipWhisperer-Lite XMEGA Programmer") layout = QVBoxLayout() layoutFW = QHBoxLayout() self.flashLocation = QtFixes.QLineEdit() flashFileButton = QPushButton("Find") flashFileButton.clicked.connect(self.findFlash) layoutFW.addWidget(QLabel("FLASH File")) layoutFW.addWidget(self.flashLocation) layoutFW.addWidget(flashFileButton) layout.addLayout(layoutFW) self.flashLocation.setText(QSettings().value("xmega-flash-location")) # Add buttons readSigBut = QPushButton("Check Signature") readSigBut.clicked.connect(self.readSignature) verifyFlashBut = QPushButton("Verify FLASH") verifyFlashBut.clicked.connect(self.verifyFlash) verifyFlashBut.setEnabled(False) progFlashBut = QPushButton("Erase/Program/Verify FLASH") progFlashBut.clicked.connect(self.writeFlash) layoutBut = QHBoxLayout() layoutBut.addWidget(readSigBut) layoutBut.addWidget(verifyFlashBut) layoutBut.addWidget(progFlashBut) layout.addLayout(layoutBut) # Add status stuff self.statusLine = QPlainTextEdit() self.statusLine.setReadOnly(True) # self.statusLine.setFixedHeight(QFontMetrics(self.statusLine.font()).lineSpacing() * 5 + 10) self.xmega.newTextLog.connect(self.append) layout.addWidget(self.statusLine) # Set dialog layout self.setLayout(layout)
def __init__(self): super(AVRProgrammerDialog, self).__init__(CWMainGUI.getInstance()) # self.setWindowFlags(self.windowFlags() | Qt.WindowStaysOnTopHint) self.avr = AVRProgrammer() self.setWindowTitle("ChipWhisperer-Lite AVR Programmer") layout = QVBoxLayout() layoutFW = QHBoxLayout() self.flashLocation = QtFixes.QLineEdit() flashFileButton = QPushButton("Find") flashFileButton.clicked.connect(self.findFlash) layoutFW.addWidget(QLabel("FLASH File")) layoutFW.addWidget(self.flashLocation) layoutFW.addWidget(flashFileButton) layout.addLayout(layoutFW) self.flashLocation.setText(QSettings().value("avr-flash-location")) # Add buttons readSigBut = QPushButton("Check Signature") readSigBut.clicked.connect(self.readSignature) verifyFlashBut = QPushButton("Verify FLASH") verifyFlashBut.clicked.connect(self.verifyFlash) verifyFlashBut.setEnabled(False) progFlashBut = QPushButton("Erase/Program/Verify FLASH") progFlashBut.clicked.connect(self.writeFlash) layoutBut = QHBoxLayout() layoutBut.addWidget(readSigBut) layoutBut.addWidget(verifyFlashBut) layoutBut.addWidget(progFlashBut) layout.addLayout(layoutBut) layoutFuse = QHBoxLayout() readFuseBut = QPushButton("Read Fuses") readFuseBut.clicked.connect(self.readFuses) writeFuseBut = QPushButton("Write Fuses") writeFuseBut.clicked.connect(self.writeFuses) self.lowfuseLine = QtFixes.QLineEdit("?") self.lowfuseLine.setMaxLength(2) self.lowfuseLine.setFixedWidth(25) self.highfuseLine = QtFixes.QLineEdit("?") self.highfuseLine.setMaxLength(2) self.highfuseLine.setFixedWidth(25) self.extfuseLine = QtFixes.QLineEdit("?") self.extfuseLine.setMaxLength(2) self.extfuseLine.setFixedWidth(25) # Don't allow use to change these fuses self.highfuseLine.setReadOnly(True) self.extfuseLine.setReadOnly(True) layoutFuse.addWidget(readFuseBut) layoutFuse.addWidget(QLabel("LOW:")) layoutFuse.addWidget(self.lowfuseLine) layoutFuse.addWidget(QLabel("HIGH:")) layoutFuse.addWidget(self.highfuseLine) layoutFuse.addWidget(QLabel("EXT:")) layoutFuse.addWidget(self.extfuseLine) layoutFuse.addWidget(writeFuseBut) layout.addLayout(layoutFuse) layoutExtra = QHBoxLayout() self.clockMode = QPushButton("Enable Slow Clock Mode") self.clockMode.setCheckable(True) self.clockMode.clicked.connect(self.toggleSlowClock) layoutExtra.addWidget(self.clockMode) layoutExtra.addStretch() layout.addLayout(layoutExtra) # Add status stuff self.statusLine = QPlainTextEdit() self.statusLine.setReadOnly(True) # self.statusLine.setFixedHeight(QFontMetrics(self.statusLine.font()).lineSpacing() * 5 + 10) layout.addWidget(self.statusLine) self.avr.newTextLog.connect(self.append) # Set dialog layout self.setLayout(layout)
def __init__(self, parent=None): super(Truss, self).__init__(parent) self.resize(800, 600) self.filename = None self.filetuple = None self.dirty = False # Refers to Data Page only. centralwidget = QWidget(self) gridLayout = QGridLayout(centralwidget) self.tabWidget = QTabWidget(centralwidget) self.tab = QWidget() font = QFont() font.setFamily("Courier 10 Pitch") font.setPointSize(12) self.tab.setFont(font) gridLayout_3 = QGridLayout(self.tab) self.plainTextEdit = QPlainTextEdit(self.tab) gridLayout_3.addWidget(self.plainTextEdit, 0, 0, 1, 1) self.tabWidget.addTab(self.tab, "") self.tab_2 = QWidget() self.tab_2.setFont(font) gridLayout_2 = QGridLayout(self.tab_2) self.plainTextEdit_2 = QPlainTextEdit(self.tab_2) gridLayout_2.addWidget(self.plainTextEdit_2, 0, 0, 1, 1) self.tabWidget.addTab(self.tab_2, "") gridLayout.addWidget(self.tabWidget, 0, 0, 1, 1) self.setCentralWidget(centralwidget) menubar = QMenuBar(self) menubar.setGeometry(QRect(0, 0, 800, 29)) menu_File = QMenu(menubar) self.menu_Solve = QMenu(menubar) self.menu_Help = QMenu(menubar) self.setMenuBar(menubar) self.statusbar = QStatusBar(self) self.setStatusBar(self.statusbar) self.action_New = QAction(self) self.actionSave_As = QAction(self) self.action_Save = QAction(self) self.action_Open = QAction(self) self.action_Quit = QAction(self) self.action_About = QAction(self) self.actionShow_CCPL = QAction(self) self.action_Solve = QAction(self) self.action_CCPL = QAction(self) self.action_Help = QAction(self) menu_File.addAction(self.action_New) menu_File.addAction(self.action_Open) menu_File.addAction(self.actionSave_As) menu_File.addAction(self.action_Save) menu_File.addSeparator() menu_File.addAction(self.action_Quit) self.menu_Solve.addAction(self.action_Solve) self.menu_Help.addAction(self.action_About) self.menu_Help.addAction(self.action_CCPL) self.menu_Help.addAction(self.action_Help) menubar.addAction(menu_File.menuAction()) menubar.addAction(self.menu_Solve.menuAction()) menubar.addAction(self.menu_Help.menuAction()) self.setWindowTitle("Main Window") self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab),\ "Data Page") self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2),\ "Solution Page") menu_File.setTitle("&File") self.menu_Solve.setTitle("&Solve") self.menu_Help.setTitle("&Help") self.tabWidget.setCurrentIndex(0) self.action_New.setText("&New") self.action_Open.setText("&Open") self.actionSave_As.setText("Save &As") self.action_Save.setText("&Save") self.action_Quit.setText("&Quit") self.action_Solve.setText("&Solve") self.action_About.setText("&About") self.action_CCPL.setText("&CCPL") self.action_Help.setText("&Help") self.action_Quit.triggered.connect(self.close) allToolBar = self.addToolBar("AllToolBar") allToolBar.setObjectName("AllToolBar") self.addActions(allToolBar, (self.action_Open, self.actionSave_As,\ self.action_Save, self.action_Solve,\ self.action_Quit )) self.action_New.triggered.connect(self.fileNew) self.action_Open.triggered.connect(self.fileOpen) self.actionSave_As.triggered.connect(self.fileSaveAs) self.action_Save.triggered.connect(self.fileSave) self.action_Solve.triggered.connect(self.trussSolve) self.action_About.triggered.connect(self.aboutBox) self.action_CCPL.triggered.connect(self.displayCCPL) self.action_Help.triggered.connect(self.help) self.plainTextEdit.textChanged.connect(self.setDirty) self.action_New = self.editAction(self.action_New, None,\ 'ctrl+N', 'filenew', 'New File.') self.action_Open = self.editAction(self.action_Open, None, 'ctrl+O', 'fileopen', 'Open File.') self.actionSave_As = self.editAction(self.actionSave_As,\ None, 'ctrl+A', 'filesaveas',\ 'Save and Name File.') self.action_Save = self.editAction(self.action_Save, None, 'ctrl+S', 'filesave', 'Save File.') self.action_Solve = self.editAction(self.action_Solve, None, 'ctrl+L', 'solve', 'Solve Structure.') self.action_About = self.editAction(self.action_About, None, 'ctrl+B', 'about', 'Pop About Box.') self.action_CCPL = self.editAction(self.action_CCPL, None, 'ctrl+G', 'licence', 'Show Licence') self.action_Help = self.editAction(self.action_Help, None, 'ctrl+H', 'help', 'Show Help Page.') self.action_Quit = self.editAction(self.action_Quit, None, 'ctrl+Q', 'quit', 'Quit the program.') self.plainTextEdit_2.setReadOnly(True)
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.setFixedSize(800, 600) self.centralwidget = QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.FilterLbl = QLabel(self.centralwidget) self.FilterLbl.setGeometry(QtCore.QRect(30, 150, 60, 15)) self.FilterLbl.setObjectName("FilterLbl") self.FilterCB = QComboBox(self.centralwidget) self.FilterCB.setGeometry(QtCore.QRect(450, 150, 100, 22)) self.FilterCB.setObjectName("FilterCB") self.FilterCB.addItem("") self.FilterCB.addItem("") self.FilterCB.addItem("") self.FilterCB.addItem("") self.FilterTF = QLineEdit(self.centralwidget) self.FilterTF.setGeometry(QtCore.QRect(100, 150, 320, 20)) self.tableView = QTableWidget(self.centralwidget) self.tableView.setGeometry(QtCore.QRect(10, 180, 781, 511)) self.tableView.setObjectName("tableView") self.tableView.setColumnCount(4) self.tableView.setRowCount(0) item = QTableWidgetItem("Cena za kg/l") self.tableView.setHorizontalHeaderItem(0, item) item = QTableWidgetItem("Cena ze kus") self.tableView.setHorizontalHeaderItem(1, item) item = QTableWidgetItem(u"Gramaž") self.tableView.setHorizontalHeaderItem(2, item) item = QTableWidgetItem("Popis") item.setTextAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignVCenter|QtCore.Qt.AlignCenter) font = QtGui.QFont() font.setPointSize(8) item.setFont(font) self.tableView.setHorizontalHeaderItem(3, item) self.tableView.horizontalHeader().setStretchLastSection(True) self.SaveBtn = QPushButton(self.centralwidget) self.SaveBtn.setGeometry(QtCore.QRect(30, 10, 100, 23)) self.SaveBtn.setObjectName("SaveBtn") self.PrintSelectedToFileBtn = QPushButton(self.centralwidget) self.PrintSelectedToFileBtn.setGeometry(QtCore.QRect(225, 10, 100, 23)) self.PrintSelectedToFileBtn.setObjectName("PrintSelectedToFileBtn") self.PriceForUnitTF = QLineEdit(self.centralwidget) self.PriceForUnitTF.setGeometry(QtCore.QRect(100, 70, 113, 20)) self.PriceForUnitTF.setObjectName("PriceForUnitTF") self.PriceForUnitLbl = QLabel(self.centralwidget) self.PriceForUnitLbl.setGeometry(QtCore.QRect(30, 70, 60, 13)) self.PriceForUnitLbl.setObjectName("PriceForUnitLbl") self.ArtikelTF = QLineEdit(self.centralwidget) self.ArtikelTF.setGeometry(QtCore.QRect(100, 100, 113, 20)) self.ArtikelTF.setObjectName("ArtikelTF") self.ArtikelLbl = QLabel(self.centralwidget) self.ArtikelLbl.setGeometry(QtCore.QRect(30, 100, 46, 13)) self.ArtikelLbl.setObjectName("ArtikelLbl") self.DescriptionLbl = QLabel(self.centralwidget) self.DescriptionLbl.setGeometry(QtCore.QRect(455, 70, 75, 13)) self.DescriptionLbl.setObjectName("DescriptionLbl") self.UnitLbl = QLabel(self.centralwidget) self.UnitLbl.setGeometry(QtCore.QRect(250, 70, 60, 15)) self.UnitLbl.setObjectName("UnitLbl") self.WeightLbl = QLabel(self.centralwidget) self.WeightLbl.setGeometry(QtCore.QRect(250, 100, 60, 13)) self.WeightLbl.setObjectName("UnitLbl") self.WeightTF = QLineEdit(self.centralwidget) self.WeightTF.setGeometry(QtCore.QRect(320, 100, 100, 20)) self.WeightTF.setObjectName("WeightTF") self.UnitCB = QComboBox(self.centralwidget) self.UnitCB.setGeometry(QtCore.QRect(320, 70, 100, 22)) self.UnitCB.setObjectName("UnitCB") self.UnitCB.addItem("") self.UnitCB.addItem("") self.DescriptionTE = QPlainTextEdit(self.centralwidget) self.DescriptionTE.setGeometry(QtCore.QRect(540, 30, 241, 61)) self.DescriptionTE.setObjectName("DescriptionTE") self.PrintToFileBtn = QPushButton(self.centralwidget) self.PrintToFileBtn.setGeometry(QtCore.QRect(140, 10, 75, 23)) self.PrintToFileBtn.setObjectName("PrintToFileBtn") self.AddRecordBtn = QPushButton(self.centralwidget) self.AddRecordBtn.setGeometry(QtCore.QRect(450, 100, 75, 23)) self.AddRecordBtn.setObjectName("AddRecordBtn") self.SaveChangeBtn = QPushButton(self.centralwidget) self.SaveChangeBtn.setGeometry(QtCore.QRect(550, 100, 75, 23)) self.SaveChangeBtn.setObjectName("SaveChangeBtn") self.DeleteRecordBtn = QPushButton(self.centralwidget) self.DeleteRecordBtn.setGeometry(QtCore.QRect(650, 100, 75, 23)) self.DeleteRecordBtn.setObjectName("DeleteRecordBtn") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") self.FilterTF.textChanged.connect(self.on_lineEdit_textChanged) self.FilterCB.currentIndexChanged.connect(self.on_comboBox_currentIndexChanged) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow)
def __init__(self): QMainWindow.__init__(self) # the user interface, consisting of a progress bar above a plain # text edit, which logs all actions. container = QWidget(self) container.setLayout(QVBoxLayout(container)) self.setCentralWidget(container) progressbar = QProgressBar(container) container.layout().addWidget(progressbar) log = QPlainTextEdit(container) container.layout().addWidget(log) # the actual worker thread counter = Counter(100, self) # an action to quit the windows exit = QAction(QIcon.fromTheme('application-exit'), 'exit', self) # add two actions to start and stop the worker to the toolbar of the # main window start_counting = QAction(QIcon.fromTheme('media-playback-start'), 'Start counting', self) stop_counting = QAction(QIcon.fromTheme('media-playback-stop'), 'Stop counting', self) # initially no counter runs, so we can disable the stop action stop_counting.setEnabled(False) # add all actions to a toolbar actions = self.addToolBar('Actions') actions.addAction(exit) actions.addSeparator() actions.addAction(start_counting) actions.addAction(stop_counting) # quit the application, if the quit action is triggered exit.triggered.connect(QApplication.instance().quit) # start and stop the counter, if the corresponding actions are # triggered. start_counting.triggered.connect(counter.start) stop_counting.triggered.connect(counter.stop) # adjust the minimum and the maximum of the progress bar, if # necessary. Not really required in this snippet, but added for the # purpose of demonstrating it counter.minimumChanged.connect(progressbar.setMinimum) counter.maximumChanged.connect(progressbar.setMaximum) # switch the enabled states of the actions according to whether the # worker is running or not counter.started.connect(partial(start_counting.setEnabled, False)) counter.started.connect(partial(stop_counting.setEnabled, True)) counter.finished.connect(partial(start_counting.setEnabled, True)) counter.finished.connect(partial(stop_counting.setEnabled, False)) # update the progess bar continuously counter.progress.connect(progressbar.setValue) # log all actions in our logging widget counter.started.connect( partial(self.statusBar().showMessage, 'Counting')) counter.finished.connect(partial(self.statusBar().showMessage, 'Done')) # log a forced stop stop_counting.triggered.connect(partial(log.appendPlainText, 'Stopped')) # log all counted values counter.progress.connect(lambda v: log.appendPlainText(str(v))) # and finally show the current state in the status bar. counter.started.connect(partial(log.appendPlainText, 'Counting')) counter.finished.connect(partial(log.appendPlainText, 'Done'))
def __init__(self): super(ConsoleWidget, self).__init__() self.setWindowTitle('1c query') self._connection = None self._home = os.path.expanduser('~/%s' % QApplication.applicationName()) if not os.path.isdir(self._home): os.mkdir(self._home) self.queryToolBar = self.addToolBar('Query') self.queryAction = self.queryToolBar.addAction('Run', self.executeQuery) self.queryAction.setDisabled(True) uri_history = list() path = os.path.join(self._home, 'uri_history.txt') if os.path.isfile(path): uri_history = open(path, 'r').read().split('\n') self.connectionToolBar = self.addToolBar('Connection') self.connectionUriCombo = QComboBox(self) self.connectionUriCombo.setEditable(True) if not uri_history: self.connectionUriCombo.addItem('File="";usr="";pwd="";') self.connectionUriCombo.addItem('Srvr="{host}";Ref="{ref}";Usr="******";Pwd="{password}";') else: self.connectionUriCombo.addItems(uri_history) self.connectionUriCombo.setCurrentIndex(len(uri_history) - 1) self.connectionUriCombo.setSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Maximum) self.connectionToolBar.addWidget(self.connectionUriCombo) self.onesVersionCombo = QComboBox(self) self.onesVersionCombo.addItems(['8.3', '8.2', '8.1', '8.0']) self.onesVersionCombo.setCurrentIndex(0) self.connectionToolBar.addWidget(self.onesVersionCombo) self.connectAction = self.connectionToolBar.addAction('Connect', self.connectOneS) self.disconnectAction = self.connectionToolBar.addAction('Disconnect', self.disconnectOneS) self.disconnectAction.setDisabled(True) self.logEdit = QPlainTextEdit(self) self.logDock = QDockWidget('Log', self) self.logDock.setWidget(self.logEdit) self.addDockWidget(Qt.BottomDockWidgetArea, self.logDock, Qt.Horizontal) self.splitter = QSplitter(Qt.Vertical, self) self.setCentralWidget(self.splitter) self.sqlEdit = QTextEdit(self) self.sqlEdit.setLineWrapMode(QTextEdit.NoWrap) path = os.path.join(self._home, 'last-sql.txt') if os.path.isfile(path): sql = open(path, 'r').read() self.sqlEdit.setText(sql) self.model = QStandardItemModel(self) self.tableView = QTableView(self) self.tableView.setModel(self.model) self.splitter.addWidget(self.sqlEdit) self.splitter.addWidget(self.tableView) self.splitter.setStretchFactor(0, 3) self.splitter.setStretchFactor(1, 2)