def settings(self, parent): # CRIANDO O GRUPOBOXTEMPS PARA POR OS LABELS E LCD'S self.groupBoxTemps = QGroupBox(parent) # CRIANDO O LABEL PARA INFORMAR O QUE O LCD ESTÁ MOSTRANDO self.lbTemp1 = QLabel(self.groupBoxTemps) self.lbTemp1.setGeometry(QRect(70, 10, 127, 10)) self.lbTemp1.setMaximumSize(QSize(16777215, 10)) self.lbTemp1.setText("Termometro 1") self.lbTemp1.setAlignment(Qt.AlignCenter) # CRIANDO O LABEL PARA INFORMAR O QUE O LCD ESTÁ MOSTRANDO self.lbTemp2 = QLabel(self.groupBoxTemps) self.lbTemp2.setGeometry(QRect(330, 10, 130, 10)) self.lbTemp2.setMaximumSize(QSize(16777215, 10)) self.lbTemp2.setText("Termometro 2") self.lbTemp2.setAlignment(Qt.AlignCenter) # CRIANDO O LCD PARA INFORMAR A TEMPERATURA DO TERMOMETRO 1 self.lcdTemp1 = QLCDNumber(self.groupBoxTemps) self.lcdTemp1.setGeometry(QRect(30, 30, 211, 71)) self.lcdTemp1.display("00.00") self.lcdTemp1.setDigitCount(6) # CRIANDO O LCD PARA INFORMAR A TEMPERATURA DO TERMOMETRO 2 self.lcdTemp2 = QLCDNumber(self.groupBoxTemps) self.lcdTemp2.setGeometry(QRect(290, 30, 211, 71)) self.lcdTemp2.display("00.00") self.lcdTemp2.setDigitCount(6) # COLOCANDO LAYOUT NO GRUPOBOXTEMPS self.addWidget(self.groupBoxTemps)
def __init__(self): QWidget.__init__(self) self.setFixedSize(640,480) top = QWidget() topLayout = QHBoxLayout() top.setLayout(topLayout) title = QLabel("尋寶遊戲"); title.setFont(QFont("verdana",25,QFont.Bold)) topLayout.addWidget(title) lcd = QLCDNumber() lcd.setSegmentStyle(QLCDNumber.Flat) lcd.setFrameStyle(QFrame.StyledPanel|QFrame.Plain) topLayout.addWidget(lcd) self.myScene = scene.Scene() self.connect(self.myScene, SIGNAL("steroidTaken(int)"), lcd, SLOT("display(int)")) view = QGraphicsView() view.setAutoFillBackground(True) view.setScene(self.myScene) layout = QVBoxLayout() layout.addWidget(top) layout.addWidget(view) self.setLayout(layout)
def __init__(self): QWidget.__init__(self) self.setWindowTitle(u'Цифровые часы') timer = QTimer(self) self.connect(timer, SIGNAL("timeout()"), self.updtTime) self.myTimeDisplay = QLCDNumber(self) self.myTimeDisplay.setSegmentStyle(QLCDNumber.Filled) self.myTimeDisplay.setDigitCount(8) self.myTimeDisplay.resize(500, 150) timer.start(1000)
def createLCD(self, mode): lcd = QLCDNumber(self) lcd.setMode(mode) lcd.setMinimumHeight(50) lcd.setMinimumWidth(160) lcd.setDigitCount(8) if mode == QLCDNumber.Bin: lcd.display("00000000") else: lcd.display(0) lcd.setSegmentStyle(QLCDNumber.Flat) lcd.setAutoFillBackground(True) palette = lcd.palette() palette.setColor(QPalette.Normal, QPalette.Foreground, Qt.blue) palette.setColor(QPalette.Normal, QPalette.Background, Qt.lightGray) lcd.setPalette(palette) return lcd
def settings(self, parent): # CRIANDO O GRUPOBOXTIMECURRENTE PARA COLOCAR O LABEL E O LCD # PARA CONTROLAR O TEMPO self.groupBoxTimeCurrent = QGroupBox(parent) # CRIANDO O LABEL DE INFORMAR O QUE É O LCD ESTÁ MOSTRANDO self.lbTimeCurrent = QLabel(self.groupBoxTimeCurrent) self.lbTimeCurrent.setGeometry(QRect(230, 0, 91, 20)) self.lbTimeCurrent.setMaximumSize(QSize(16777215, 20)) self.lbTimeCurrent.setText("Tempo percorrido") # CRIANDO O LCD PARA MOSTRAR O TEMPO PERCORRIDO self.lcdTimeCurrent = QLCDNumber(self.groupBoxTimeCurrent) self.lcdTimeCurrent.setGeometry(QRect(140, 20, 251, 81)) self.lcdTimeCurrent.setDigitCount(8) self.lcdTimeCurrent.display("00:00:00") # COLOCANDO LAYOUT NO GRUPOBOXTIMECURRENT self.addWidget(self.groupBoxTimeCurrent)
def initUI(self, full, size): self.setStyleSheet( """ QWidget{ background-color: #FFCC33; border:1px solid #000099; } """ ) if full: self.showFullScreen() else: self.setFixedSize(850, 700) self.setWindowTitle('Tarea 2') # Elementos de la ventana lcd = QLCDNumber() self.mapa = Mapa(self.__mapa, self.__func_zoom, self.__func_move, size) self.barra_zoom = QSlider() self.navegador = Navegador(lcd) self.consultas = Consultas(self.__funcs) # Colores palette = lcd.palette() palette.setColor(palette.Light, QColor(255, 204, 51)) lcd.setPalette(palette) # Conexiones self.barra_zoom.valueChanged.connect(self.mapa.zooming) self.barra_zoom.valueChanged.connect(lcd.display) self.navegador.connect(self.mapa.moving) self.grid = QGridLayout() self.grid.setSpacing(10) # Agregar elementos. self.grid.addWidget(self.mapa, 0, 0, 2, 3) self.grid.addWidget(self.barra_zoom, 0, 4, 1, 1) self.grid.addWidget(self.navegador, 1, 3, 1, 3) self.grid.addWidget(self.consultas, 2, 0) self.setLayout(self.grid) self.show()
def setupUi(self): bar = QToolBar() bar.addAction(self.playAction) bar.addAction(self.pauseAction) bar.addAction(self.stopAction) self.seekSlider = Phonon.SeekSlider(self) self.seekSlider.setMediaObject(media) self.volumeSlider = Phonon.VolumeSlider(self) self.volumeSlider.setAudioOutput(audio) self.volumeSlider.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum) volumeLabel = QLabel() volumeLabel.setPixmap(QPixmap('images/volume.png')) palette = QPalette() palette.setBrush(QPalette.Light, Qt.darkGray) self.timeLcd = QLCDNumber() self.timeLcd.setPalette(palette) headers = ("Title", "Artist", "Album", "Year") seekerLayout = QHBoxLayout() seekerLayout.addWidget(self.seekSlider) seekerLayout.addWidget(self.timeLcd) playbackLayout = QHBoxLayout() playbackLayout.addWidget(bar) playbackLayout.addStretch() playbackLayout.addWidget(volumeLabel) playbackLayout.addWidget(self.volumeSlider) mainLayout = QVBoxLayout() mainLayout.addWidget(video) mainLayout.addLayout(seekerLayout) mainLayout.addLayout(playbackLayout) self.setLayout(mainLayout)
def __init__(self, parent=None): super(DemoInstrumentWindow, self).__init__(parent) self.setWindowTitle(self.name) vbox = QVBoxLayout() # self._counts_widget = QLCDNumber() # vbox.addWidget(self._counts_widget) for idx_channel in range(4): voltage_layout = QHBoxLayout() voltage_label = QLCDNumber() voltage_layout.addWidget(voltage_label) voltage_layout.addWidget(QLabel("VOLTS")) vbox.addLayout(voltage_layout) enable_layout = QHBoxLayout() enable_label = QLabel() enable_cb = QCheckBox("", self) enable_layout.addWidget(enable_cb) enable_cb.stateChanged.connect(lambda state, label=enable_label: label.setText("ON" if state else "OFF")) enable_layout.addWidget(enable_label) enable_label.setText("OFF") vbox.addLayout(enable_layout) channel = Channel(voltage=voltage_label, enable_cb=enable_cb, enable_label=enable_label) self.channels.append(channel) central_widget = QWidget() central_widget.setLayout(vbox) self.setCentralWidget(central_widget) self.resize(400, 100)
# Create and show the forms if sys.platform.startswith('win'): # Make sure the program is running w/ administrative privileges. import win32api from win32com.shell import shell, shellcon if not shell.IsUserAnAdmin(): alertBox = QMessageBox() alertBox.setText("You may need to run this program as an Administrator. If it doesn't work please close this program, and run it by right clicking and choose 'Run As Administrator' ") alertBox.show() #get the MS AppData directory to store data in homedir = "{}\\".format(shell.SHGetFolderPath(0, shellcon.CSIDL_APPDATA, 0, 0)) if not os.path.isdir("{0}{1}".format(homedir, "SelfRestraint")): os.mkdir("{0}{1}".format(homedir, "SelfRestraint")) homedir = homedir + "\\SelfRestraint\\" # updater = checkForUpdates() # updater.check() donate = checkDonation() form = MainForm() form.show() list = ListEditor() list.loadBlockFile() # Run the main Qt loop counter = QLCDNumber() counter.setSegmentStyle(QLCDNumber.Filled) counter.setNumDigits(8) counter.resize(150, 60) sys.exit(app.exec_())
def __init__(self, parent=None): super(MainWindow, self).__init__(parent) # -------------------------------------------------------- # main window self.setObjectName("Multiply") self.resize(400, 300) # label self.label = QLabel(self) self.label.setGeometry(QRect(20, 10, 250, 50)) self.label.setText("Multiply two numbers!") # self.label.show() # input frame self.input_frame = QFrame(self) self.input_frame.setGeometry(QRect(20, 60, 350, 130)) self.input_frame.setFrameShape(QFrame.StyledPanel) self.input_frame.setFrameShadow(QFrame.Raised) # set the layout of the frame self.verticalLayout = QVBoxLayout(self.input_frame) self.verticalLayout.setObjectName("verticalLayout") # first input self.input_one = QDoubleSpinBox(self.input_frame) self.input_one.setObjectName("input_one") self.input_one.setDecimals(4) self.input_one.setSingleStep(0.01) self.verticalLayout.addWidget(self.input_one) # second input self.input_two = QDoubleSpinBox(self.input_frame) self.input_two.setObjectName("input_two") self.input_two.setDecimals(4) self.input_two.setSingleStep(0.01) self.verticalLayout.addWidget(self.input_two) # LCD result self.result_lcd = QLCDNumber(self) self.result_lcd.setObjectName("result_lcd") self.result_lcd.setGeometry(QRect(20, 200, 350, 80)) self.result_lcd.setDigitCount(10) self.result_lcd.setSmallDecimalPoint(True) # Reset Button self.reset_button = QPushButton(self) self.reset_button.setGeometry(QRect(270, 10, 100, 30)) self.reset_button.setObjectName("reset_button") self.reset_button.setText("Reset") # -------------------------------------------------------- # connect slots self.reset_button.clicked.connect(self.onResetClick) self.input_one.valueChanged.connect(self.onInputChanged) self.input_two.valueChanged.connect(self.onInputChanged)
def initialize(self, *args, **kwargs): " Init Main Class " super(Main, self).initialize(*args, **kwargs) self.scriptPath, self.scriptArgs = "", [] self.profilerPath, self.tempPath = profilerPath, tempPath self.output = " ERROR: FAIL: No output ! " self.process = QProcess() self.process.finished.connect(self.on_process_finished) self.process.error.connect(self.on_process_error) self.tabWidget, self.stat = QTabWidget(), QWidget() self.tabWidget.tabCloseRequested.connect( lambda: self.tabWidget.setTabPosition(1) if self.tabWidget. tabPosition() == 0 else self.tabWidget.setTabPosition(0)) self.tabWidget.setStyleSheet('QTabBar{font-weight:bold;}') self.tabWidget.setMovable(True) self.tabWidget.setTabsClosable(True) self.vboxlayout1 = QVBoxLayout(self.stat) self.hboxlayout1 = QHBoxLayout() self.filterTableLabel = QLabel("<b>Type to Search : </b>", self.stat) self.hboxlayout1.addWidget(self.filterTableLabel) self.filterTableLineEdit = QLineEdit(self.stat) self.filterTableLineEdit.setPlaceholderText(' Type to Search . . . ') self.hboxlayout1.addWidget(self.filterTableLineEdit) self.filterHintTableLabel = QLabel(" ? ", self.stat) self.hboxlayout1.addWidget(self.filterHintTableLabel) self.vboxlayout1.addLayout(self.hboxlayout1) self.tableWidget = QTableWidget(self.stat) self.tableWidget.setAlternatingRowColors(True) self.tableWidget.setColumnCount(8) self.tableWidget.setRowCount(2) item = QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(0, item) item = QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(1, item) item = QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(2, item) item = QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(3, item) item = QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(4, item) item = QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(5, item) item = QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(6, item) item = QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(7, item) self.tableWidget.itemDoubleClicked.connect( self.on_tableWidget_itemDoubleClicked) self.vboxlayout1.addWidget(self.tableWidget) self.tabWidget.addTab(self.stat, " ? ") self.source = QWidget() self.gridlayout = QGridLayout(self.source) self.scintillaWarningLabel = QLabel( "QScintilla is not installed!. Falling back to basic text edit!.", self.source) self.gridlayout.addWidget(self.scintillaWarningLabel, 1, 0, 1, 2) self.sourceTreeWidget = QTreeWidget(self.source) self.sourceTreeWidget.setAlternatingRowColors(True) self.sourceTreeWidget.itemActivated.connect( self.on_sourceTreeWidget_itemActivated) self.sourceTreeWidget.itemClicked.connect( self.on_sourceTreeWidget_itemClicked) self.sourceTreeWidget.itemDoubleClicked.connect( self.on_sourceTreeWidget_itemClicked) self.gridlayout.addWidget(self.sourceTreeWidget, 0, 0, 1, 1) self.sourceTextEdit = QTextEdit(self.source) self.sourceTextEdit.setReadOnly(True) self.gridlayout.addWidget(self.sourceTextEdit, 0, 1, 1, 1) self.tabWidget.addTab(self.source, " ? ") self.result = QWidget() self.vlayout = QVBoxLayout(self.result) self.globalStatGroupBox = QGroupBox(self.result) self.hboxlayout = QHBoxLayout(self.globalStatGroupBox) self.totalTimeLcdNumber = QLCDNumber(self.globalStatGroupBox) self.totalTimeLcdNumber.setSegmentStyle(QLCDNumber.Filled) self.totalTimeLcdNumber.setNumDigits(7) self.totalTimeLcdNumber.display(1000000) self.totalTimeLcdNumber.setFrameShape(QFrame.StyledPanel) self.totalTimeLcdNumber.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.hboxlayout.addWidget(self.totalTimeLcdNumber) self.tTimeLabel = QLabel("<b>Total Time (Sec)</b>", self.globalStatGroupBox) self.tTimeLabel.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) self.hboxlayout.addWidget(self.tTimeLabel) self.numCallLcdNumber = QLCDNumber(self.globalStatGroupBox) self.numCallLcdNumber.setNumDigits(7) self.numCallLcdNumber.display(1000000) self.numCallLcdNumber.setSegmentStyle(QLCDNumber.Filled) self.numCallLcdNumber.setFrameShape(QFrame.StyledPanel) self.numCallLcdNumber.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.hboxlayout.addWidget(self.numCallLcdNumber) self.numCallLabel = QLabel("<b>Number of calls</b>", self.globalStatGroupBox) self.numCallLabel.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) self.hboxlayout.addWidget(self.numCallLabel) self.primCallLcdNumber = QLCDNumber(self.globalStatGroupBox) self.primCallLcdNumber.setSegmentStyle(QLCDNumber.Filled) self.primCallLcdNumber.setFrameShape(QFrame.StyledPanel) self.primCallLcdNumber.setNumDigits(7) self.primCallLcdNumber.display(1000000) self.primCallLcdNumber.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.hboxlayout.addWidget(self.primCallLcdNumber) self.primCallLabel = QLabel("<b>Primitive calls (%)</b>", self.globalStatGroupBox) self.primCallLabel.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) self.hboxlayout.addWidget(self.primCallLabel) self.vlayout.addWidget(self.globalStatGroupBox) try: from PyKDE4.kdeui import KRatingWidget self.rating = KRatingWidget(self.globalStatGroupBox) self.rating.setToolTip('Profiling Performance Rating') except ImportError: pass self.tabWidget.addTab(self.result, " Get Results ! ") self.resgraph = QWidget() self.vlayout2 = QVBoxLayout(self.result) self.graphz = QGroupBox(self.resgraph) self.hboxlayout2 = QHBoxLayout(self.graphz) try: from PyKDE4.kdeui import KLed KLed(self.graphz) except ImportError: pass self.hboxlayout2.addWidget( QLabel(''' Work in Progress :) Not Ready Yet''')) self.vlayout2.addWidget(self.graphz) self.tabWidget.addTab(self.resgraph, " Graphs and Charts ") self.pathz = QWidget() self.vlayout3 = QVBoxLayout(self.pathz) self.patz = QGroupBox(self.pathz) self.hboxlayout3 = QVBoxLayout(self.patz) self.profilepath = QLineEdit(profilerPath) self.getprofile = QPushButton(QIcon.fromTheme("document-open"), 'Open') self.getprofile.setToolTip( 'Dont touch if you dont know what are doing') self.getprofile.clicked.connect(lambda: self.profilepath.setText( str( QFileDialog.getOpenFileName( self.patz, ' Open the profile.py file ', path.expanduser("~"), ';;(profile.py)')))) self.hboxlayout3.addWidget( QLabel( '<center><b>Profile.py Python Library Full Path:</b></center>') ) self.hboxlayout3.addWidget(self.profilepath) self.hboxlayout3.addWidget(self.getprofile) self.argGroupBox = QGroupBox(self.pathz) self.hbxlayout = QHBoxLayout(self.argGroupBox) self.argLineEdit = QLineEdit(self.argGroupBox) self.argLineEdit.setToolTip( 'Not touch if you dont know what are doing') self.argLineEdit.setPlaceholderText( 'Dont touch if you dont know what are doing') self.hbxlayout.addWidget( QLabel('<b>Additional Profile Arguments:</b>')) self.hbxlayout.addWidget(self.argLineEdit) self.hboxlayout3.addWidget(self.argGroupBox) self.vlayout3.addWidget(self.patz) self.tabWidget.addTab(self.pathz, " Paths and Configs ") self.outp = QWidget() self.vlayout4 = QVBoxLayout(self.outp) self.outgro = QGroupBox(self.outp) self.outgro.setTitle(" MultiProcessing Output Logs ") self.hboxlayout4 = QVBoxLayout(self.outgro) self.outputlog = QTextEdit() self.outputlog.setText(''' I do not fear computers, I fear the lack of them. -Isaac Asimov ''') self.hboxlayout4.addWidget(self.outputlog) self.vlayout4.addWidget(self.outgro) self.tabWidget.addTab(self.outp, " Logs ") self.actionNew_profiling = QAction(QIcon.fromTheme("document-new"), 'New Profiling', self) self.actionLoad_profile = QAction(QIcon.fromTheme("document-open"), 'Open Profiling', self) self.actionClean = QAction(QIcon.fromTheme("edit-clear"), 'Clean', self) self.actionClean.triggered.connect(lambda: self.clearContent) self.actionAbout = QAction(QIcon.fromTheme("help-about"), 'About', self) self.actionAbout.triggered.connect(lambda: QMessageBox.about( self.dock, __doc__, ', '.join( (__doc__, __license__, __author__, __email__)))) self.actionSave_profile = QAction(QIcon.fromTheme("document-save"), 'Save Profiling', self) self.actionManual = QAction(QIcon.fromTheme("help-contents"), 'Help', self) self.actionManual.triggered.connect(lambda: open_new_tab( 'http://docs.python.org/library/profile.html')) self.tabWidget.setCurrentIndex(2) self.globalStatGroupBox.setTitle("Global Statistics") item = self.tableWidget.horizontalHeaderItem(0) item.setText("Number of Calls") item = self.tableWidget.horizontalHeaderItem(1) item.setText("Total Time") item = self.tableWidget.horizontalHeaderItem(2) item.setText("Per Call") item = self.tableWidget.horizontalHeaderItem(3) item.setText("Cumulative Time") item = self.tableWidget.horizontalHeaderItem(4) item.setText("Per Call") item = self.tableWidget.horizontalHeaderItem(5) item.setText("Filename") item = self.tableWidget.horizontalHeaderItem(6) item.setText("Line") item = self.tableWidget.horizontalHeaderItem(7) item.setText("Function") self.tabWidget.setTabText(self.tabWidget.indexOf(self.stat), "Statistics per Function") self.sourceTreeWidget.headerItem().setText(0, "Source files") self.tabWidget.setTabText(self.tabWidget.indexOf(self.source), "Sources Navigator") ####################################################################### self.scrollable, self.dock = QScrollArea(), QDockWidget() self.scrollable.setWidgetResizable(True) self.scrollable.setWidget(self.tabWidget) self.dock.setWindowTitle(__doc__) self.dock.setStyleSheet('QDockWidget::title{text-align: center;}') self.dock.setWidget(self.scrollable) QToolBar(self.dock).addActions( (self.actionNew_profiling, self.actionClean, self.actionSave_profile, self.actionLoad_profile, self.actionManual, self.actionAbout)) self.actionNew_profiling.triggered.connect( self.on_actionNew_profiling_triggered) self.actionLoad_profile.triggered.connect( self.on_actionLoad_profile_triggered) self.actionSave_profile.triggered.connect( self.on_actionSave_profile_triggered) self.locator.get_service('misc').add_widget( self.dock, QIcon.fromTheme("document-open-recent"), __doc__) if QSCI: # Scintilla source editor management self.scintillaWarningLabel.setText(' QScintilla is Ready ! ') layout = self.source.layout() layout.removeWidget(self.sourceTextEdit) self.sourceTextEdit = Qsci.QsciScintilla(self.source) layout.addWidget(self.sourceTextEdit, 0, 1) doc = self.sourceTextEdit doc.setLexer(Qsci.QsciLexerPython(self.sourceTextEdit)) doc.setReadOnly(True) doc.setEdgeMode(Qsci.QsciScintilla.EdgeLine) doc.setEdgeColumn(80) doc.setEdgeColor(QColor("#FF0000")) doc.setFolding(Qsci.QsciScintilla.BoxedTreeFoldStyle) doc.setBraceMatching(Qsci.QsciScintilla.SloppyBraceMatch) doc.setCaretLineVisible(True) doc.setMarginLineNumbers(1, True) doc.setMarginWidth(1, 25) doc.setTabWidth(4) doc.setEolMode(Qsci.QsciScintilla.EolUnix) self.marker = {} for color in COLORS: mnr = doc.markerDefine(Qsci.QsciScintilla.Background) doc.setMarkerBackgroundColor(color, mnr) self.marker[color] = mnr self.currentSourcePath = None # Connect table and tree filter edit signal to unique slot self.filterTableLineEdit.textEdited.connect( self.on_filterLineEdit_textEdited) # Timer to display filter hint message self.filterHintTimer = QTimer(self) self.filterHintTimer.setSingleShot(True) self.filterHintTimer.timeout.connect(self.on_filterHintTimer_timeout) # Timer to start search self.filterSearchTimer = QTimer(self) self.filterSearchTimer.setSingleShot(True) self.filterSearchTimer.timeout.connect( self.on_filterSearchTimer_timeout) self.tabLoaded = {} for i in range(10): self.tabLoaded[i] = False self.backgroundTreeMatchedItems = {} self.resizeWidgetToContent(self.tableWidget)
if __name__ == "__main__": import sys app = QApplication(sys.argv) form = QDialog() sliderLabel = QLabel("&Fraction") slider = FractionSlider(denominator=12) sliderLabel.setBuddy(slider) denominatorLabel = QLabel("&Denominator") denominatorSpinBox = QSpinBox() denominatorLabel.setBuddy(denominatorSpinBox) denominatorSpinBox.setRange(3, 60) denominatorSpinBox.setValue(slider.fraction()[1]) denominatorSpinBox.setAlignment(Qt.AlignRight | Qt.AlignVCenter) numeratorLabel = QLabel("Numerator") numeratorLCD = QLCDNumber() numeratorLCD.setSegmentStyle(QLCDNumber.Flat) layout = QGridLayout() layout.addWidget(sliderLabel, 0, 0) layout.addWidget(slider, 0, 1, 1, 5) layout.addWidget(numeratorLabel, 1, 0) layout.addWidget(numeratorLCD, 1, 1) layout.addWidget(denominatorLabel, 1, 2) layout.addWidget(denominatorSpinBox, 1, 3) form.setLayout(layout) def valueChanged(denominator): numerator = int(slider.decimal() * denominator) slider.setFraction(numerator, denominator) numeratorLCD.display(numerator)
def __init__(self): super(GeneralSection, self).__init__() main_container = QVBoxLayout(self) # Tabs and indentation group_indentation = QGroupBox(self.tr("Indentación y Tabs:")) box = QGridLayout(group_indentation) box.setContentsMargins(20, 5, 20, 5) box.addWidget(QLabel(self.tr("Política:")), 0, 0) self.combo_tabs = QComboBox() self.combo_tabs.setFixedWidth(350) self.combo_tabs.addItems([ self.tr("Solo Espacios"), self.tr("Solo Tabulaciones"), ]) box.addWidget(self.combo_tabs, 0, 1) self.combo_tabs.setCurrentIndex( int(settings.get_setting('editor/usetabs'))) # Auto indent self.check_autoindent = QCheckBox(self.tr("Indentación Automática")) box.addWidget(self.check_autoindent, 1, 0) box.setAlignment(Qt.AlignLeft) self.check_autoindent.setChecked(settings.get_setting('editor/indent')) # Minimap group_minimap = QGroupBox(self.tr("Minimapa:")) box = QGridLayout(group_minimap) box.setContentsMargins(20, 5, 20, 5) self.check_minimap = QCheckBox( self.tr("Activar Minimapa (requiere reiniciar el Editor)")) self.check_minimap.setChecked(settings.get_setting('editor/minimap')) box.addWidget(self.check_minimap, 0, 0) #self.check_minimap_animation = QCheckBox(self.tr("Enable animation")) #self.check_minimap_animation.setChecked( #settings.get_setting('editor/minimap-animation')) #box.addWidget(self.check_minimap_animation, 1, 0) #box.addWidget(QLabel(self.tr("Size Area:")), 2, 0) #self.spin_area_minimap = QSpinBox() #self.spin_area_minimap.setFixedWidth(350) #box.addWidget(self.spin_area_minimap, 2, 1) box.setAlignment(Qt.AlignLeft) # Cursor group_caret = QGroupBox(self.tr("Cursor:")) box = QGridLayout(group_caret) box.setContentsMargins(20, 5, 20, 5) box.setAlignment(Qt.AlignLeft) # Type box.addWidget(QLabel(self.tr("Tipo:")), 0, 0) self.combo_caret = QComboBox() self.combo_caret.setFixedWidth(300) caret_types = [ self.tr('Invisible'), self.tr('Línea'), self.tr('Bloque') ] self.combo_caret.addItems(caret_types) index = settings.get_setting('editor/cursor') self.combo_caret.setCurrentIndex(index) box.addWidget(self.combo_caret, 0, 1) # Width box.addWidget(QLabel(self.tr("Ancho:")), 1, 0) self.spin_caret_width = QSpinBox() self.spin_caret_width.setFixedWidth(300) if index != 1: self.spin_caret_width.setEnabled(False) self.spin_caret_width.setRange(1, 3) self.spin_caret_width.setValue( settings.get_setting('editor/caret-width')) box.addWidget(self.spin_caret_width, 1, 1, Qt.AlignLeft) # Period box.addWidget(QLabel(self.tr("Período (ms):")), 2, 0) self.slider_caret_period = QSlider(Qt.Horizontal) self.slider_caret_period.setMaximum(500) self.slider_caret_period.setFixedWidth(300) box.addWidget(self.slider_caret_period, 2, 1, Qt.AlignLeft) lcd_caret = QLCDNumber() lcd_caret.setSegmentStyle(QLCDNumber.Flat) box.addWidget(lcd_caret, 2, 3) # Font group_typo = QGroupBox(self.tr("Fuente:")) box = QGridLayout(group_typo) box.setContentsMargins(20, 5, 20, 5) box.addWidget(QLabel(self.tr("Familia:")), 0, 0) self.combo_font = QFontComboBox() self.combo_font.setFixedWidth(350) box.addWidget(self.combo_font, 0, 1) self._load_font() box.addWidget(QLabel(self.tr("Tamaño:")), 1, 0) self.spin_size_font = QSpinBox() self.spin_size_font.setValue(settings.get_setting('editor/size-font')) self.spin_size_font.setFixedWidth(350) box.addWidget(self.spin_size_font, 1, 1) box.setAlignment(Qt.AlignLeft) # Scheme group_scheme = QGroupBox(self.tr("Tema:")) box = QVBoxLayout(group_scheme) box.setContentsMargins(20, 5, 20, 5) self.combo_scheme = QComboBox() self.combo_scheme.setFixedWidth(350) self.combo_scheme.addItems(['Dark Edis', 'White Edis']) scheme = settings.get_setting('editor/scheme') index = 0 if scheme != 'dark': index = 1 self.combo_scheme.setCurrentIndex(index) box.addWidget(self.combo_scheme) box.addWidget(QLabel(self.tr("Requiere reiniciar Edis"))) ## Agrupación main_container.addWidget(group_indentation) main_container.addWidget(group_minimap) main_container.addWidget(group_caret) main_container.addWidget(group_typo) main_container.addWidget(group_scheme) main_container.addItem( QSpacerItem(0, 10, QSizePolicy.Expanding, QSizePolicy.Expanding)) EditorConfiguration.install_widget(self.tr("General"), self) # Conexiones self.combo_scheme.currentIndexChanged['const QString&'].connect( self._change_scheme) self.combo_caret.currentIndexChanged[int].connect( self._caret_type_changed) self.slider_caret_period.valueChanged[int].connect(lcd_caret.display) self.slider_caret_period.setValue( settings.get_setting('editor/cursor-period'))
def __init__(self): super(DisplaySection, self).__init__() EditorConfiguration.install_widget(self.tr("Visualización"), self) container = QVBoxLayout(self) # Text wrapping group_wrapping = QGroupBox(self.tr("Ajuste de Texto:")) box = QGridLayout(group_wrapping) self.check_wrap = QCheckBox(self.tr("Activar ajuste de texto")) box.addWidget(self.check_wrap, 0, 0) self.check_margin = QCheckBox(self.tr("Mostrar márgen derecho:")) box.addWidget(self.check_margin, 1, 0) self.slider_margin = QSlider(Qt.Horizontal) self.slider_margin.setMaximum(180) self.slider_margin.setFixedWidth(350) box.addWidget(self.slider_margin, 1, 1, Qt.AlignLeft) lcd_margin = QLCDNumber() lcd_margin.setSegmentStyle(QLCDNumber.Flat) box.addWidget(lcd_margin, 1, 2, Qt.AlignLeft) box.setAlignment(Qt.AlignLeft) container.addWidget(group_wrapping) # Add group # Extras: line number, markers, whitespace, etc group_extras = QGroupBox(self.tr("Visualización:")) box = QGridLayout(group_extras) self.check_line_numbers = QCheckBox( self.tr("Mostrar números de líneas")) box.addWidget(self.check_line_numbers, 0, 0) self.check_current_line = QCheckBox(self.tr("Resaltar línea actual")) box.addWidget(self.check_current_line, 0, 1) self.check_mark_change = QCheckBox(self.tr("Marcar línea modificada")) box.addWidget(self.check_mark_change, 1, 0) self.check_match_brace = QCheckBox(self.tr("Resaltar [], {}, (), <>")) box.addWidget(self.check_match_brace, 1, 1) self.check_whitespace = QCheckBox( self.tr("Mostrar espacios en blanco")) box.addWidget(self.check_whitespace, 2, 0) self.check_guides = QCheckBox(self.tr("Mostrar guías de indentación")) box.addWidget(self.check_guides, 2, 1) self.check_eof = QCheckBox(self.tr("Mostrar EOF")) box.addWidget(self.check_eof, 3, 0) container.addWidget(group_extras) # Add group # Spacer container.addItem( QSpacerItem(0, 10, QSizePolicy.Expanding, QSizePolicy.Expanding)) # Connections self.slider_margin.valueChanged[int].connect(lcd_margin.display) # Configuration self.check_wrap.setChecked(settings.get_setting('editor/wrap-mode')) self.check_line_numbers.setChecked( settings.get_setting('editor/show-line-number')) self.check_mark_change.setChecked( settings.get_setting('editor/mark-change')) self.check_match_brace.setChecked( settings.get_setting('editor/match-brace')) self.check_current_line.setChecked( settings.get_setting('editor/show-caret-line')) self.check_eof.setChecked(settings.get_setting('editor/eof')) self.check_margin.setChecked( settings.get_setting('editor/show-margin')) self.slider_margin.setValue( settings.get_setting('editor/width-margin')) self.check_whitespace.setChecked( settings.get_setting('editor/show-tabs-spaces')) self.check_guides.setChecked( settings.get_setting('editor/show-guides'))
def createWidgets(self): """ QtWidgets creation """ self.setContextMenuPolicy(Qt.CustomContextMenu) mainLayout = QVBoxLayout() gridLayout = QGridLayout() font = QFont(FONT_NAME, FONT_SIZE) font.setBold(True) self.passLabel = QLabel("PASS") self.passLabel.setFont(font) passPalette = QPalette() passPalette.setColor(QPalette.WindowText, Qt.darkGreen) self.passLabel.setPalette(passPalette) self.passLabel.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter) self.failLabel = QLabel("FAILED") self.failLabel.setFont(font) failPalette = QPalette() failPalette.setColor(QPalette.WindowText, Qt.red) self.failLabel.setPalette(failPalette) self.failLabel.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter) self.undefLabel = QLabel("UNDEFINED") font2 = QFont(FONT_NAME, FONT_SIZE2) font2.setBold(False) self.undefLabel.setFont(font2) self.undefLabel.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter) self.totalLabel = QLabel() self.totalLabel.setStyleSheet("""background-color: #EAEAEA; background-image: url(:/main_logo.png); background-position: center; background-repeat: no-repeat; background-attachment: fixed;""") self.totalLabel.setAlignment(Qt.AlignHCenter) self.logoLabel = QLabel() # testglobal self.counterTgPass = QLCDNumber(self) try: # this function does not exist on linux centos 6.3 self.counterTgPass.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTgPass.setSegmentStyle(QLCDNumber.Flat) self.counterTgPass.setFrameShape(QFrame.NoFrame) passPalette = QPalette() passPalette.setColor(QPalette.WindowText, Qt.darkGreen) self.counterTgPass.setPalette(passPalette) self.counterTgFail = QLCDNumber(self) try: self.counterTgFail.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTgFail.setSegmentStyle(QLCDNumber.Flat) self.counterTgFail.setFrameShape(QFrame.NoFrame) failPalette = QPalette() failPalette.setColor(QPalette.WindowText, Qt.red) self.counterTgFail.setPalette(failPalette) self.counterTgUndef = QLCDNumber(self) try: self.counterTgUndef.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTgUndef.setSegmentStyle(QLCDNumber.Flat) self.counterTgUndef.setFrameShape(QFrame.NoFrame) underPalette = QPalette() underPalette.setColor(QPalette.WindowText, Qt.darkBlue) self.counterTgUndef.setPalette(underPalette) self.counterTgTotal = QLCDNumber(self) self.counterTgTotal.setSegmentStyle(QLCDNumber.Flat) self.counterTgTotal.setFrameShape(QFrame.NoFrame) # testplan self.counterTpPass = QLCDNumber(self) try: self.counterTpPass.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTpPass.setSegmentStyle(QLCDNumber.Flat) self.counterTpPass.setFrameShape(QFrame.NoFrame) passPalette = QPalette() passPalette.setColor(QPalette.WindowText, Qt.darkGreen) self.counterTpPass.setPalette(passPalette) self.counterTpFail = QLCDNumber(self) try: self.counterTpFail.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTpFail.setSegmentStyle(QLCDNumber.Flat) self.counterTpFail.setFrameShape(QFrame.NoFrame) failPalette = QPalette() failPalette.setColor(QPalette.WindowText, Qt.red) self.counterTpFail.setPalette(failPalette) self.counterTpUndef = QLCDNumber(self) try: self.counterTpUndef.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTpUndef.setSegmentStyle(QLCDNumber.Flat) self.counterTpUndef.setFrameShape(QFrame.NoFrame) underPalette = QPalette() underPalette.setColor(QPalette.WindowText, Qt.darkBlue) self.counterTpUndef.setPalette(underPalette) self.counterTpTotal = QLCDNumber(self) self.counterTpTotal.setSegmentStyle(QLCDNumber.Flat) self.counterTpTotal.setFrameShape(QFrame.NoFrame) # testsuites self.counterTsPass = QLCDNumber(self) try: self.counterTsPass.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTsPass.setSegmentStyle(QLCDNumber.Flat) self.counterTsPass.setFrameShape(QFrame.NoFrame) passPalette = QPalette() passPalette.setColor(QPalette.WindowText, Qt.darkGreen) self.counterTsPass.setPalette(passPalette) self.counterTsFail = QLCDNumber(self) try: self.counterTsFail.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTsFail.setSegmentStyle(QLCDNumber.Flat) self.counterTsFail.setFrameShape(QFrame.NoFrame) failPalette = QPalette() failPalette.setColor(QPalette.WindowText, Qt.red) self.counterTsFail.setPalette(failPalette) self.counterTsUndef = QLCDNumber(self) try: self.counterTsUndef.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTsUndef.setSegmentStyle(QLCDNumber.Flat) self.counterTsUndef.setFrameShape(QFrame.NoFrame) underPalette = QPalette() underPalette.setColor(QPalette.WindowText, Qt.darkBlue) self.counterTsUndef.setPalette(underPalette) self.counterTsTotal = QLCDNumber(self) self.counterTsTotal.setSegmentStyle(QLCDNumber.Flat) self.counterTsTotal.setFrameShape(QFrame.NoFrame) # testunit self.counterTuPass = QLCDNumber(self) try: self.counterTuPass.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTuPass.setSegmentStyle(QLCDNumber.Flat) self.counterTuPass.setFrameShape(QFrame.NoFrame) passPalette = QPalette() passPalette.setColor(QPalette.WindowText, Qt.darkGreen) self.counterTuPass.setPalette(passPalette) self.counterTuFail = QLCDNumber(self) try: self.counterTuFail.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTuFail.setSegmentStyle(QLCDNumber.Flat) self.counterTuFail.setFrameShape(QFrame.NoFrame) failPalette = QPalette() failPalette.setColor(QPalette.WindowText, Qt.red) self.counterTuFail.setPalette(failPalette) self.counterTuUndef = QLCDNumber(self) try: self.counterTuUndef.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTuUndef.setSegmentStyle(QLCDNumber.Flat) self.counterTuUndef.setFrameShape(QFrame.NoFrame) underPalette = QPalette() underPalette.setColor(QPalette.WindowText, Qt.darkBlue) self.counterTuUndef.setPalette(underPalette) self.counterTuTotal = QLCDNumber(self) self.counterTuTotal.setSegmentStyle(QLCDNumber.Flat) self.counterTuTotal.setFrameShape(QFrame.NoFrame) # testabstracts self.counterTaPass = QLCDNumber(self) try: self.counterTaPass.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTaPass.setSegmentStyle(QLCDNumber.Flat) self.counterTaPass.setFrameShape(QFrame.NoFrame) passPalette = QPalette() passPalette.setColor(QPalette.WindowText, Qt.darkGreen) self.counterTaPass.setPalette(passPalette) self.counterTaFail = QLCDNumber(self) try: self.counterTaFail.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTaFail.setSegmentStyle(QLCDNumber.Flat) self.counterTaFail.setFrameShape(QFrame.NoFrame) failPalette = QPalette() failPalette.setColor(QPalette.WindowText, Qt.red) self.counterTaFail.setPalette(failPalette) self.counterTaUndef = QLCDNumber(self) try: self.counterTaUndef.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTaUndef.setSegmentStyle(QLCDNumber.Flat) self.counterTaUndef.setFrameShape(QFrame.NoFrame) underPalette = QPalette() underPalette.setColor(QPalette.WindowText, Qt.darkBlue) self.counterTaUndef.setPalette(underPalette) self.counterTaTotal = QLCDNumber(self) self.counterTaTotal.setSegmentStyle(QLCDNumber.Flat) self.counterTaTotal.setFrameShape(QFrame.NoFrame) # testcases self.counterTcPass = QLCDNumber(self) try: self.counterTcPass.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTcPass.setSegmentStyle(QLCDNumber.Flat) self.counterTcPass.setFrameShape(QFrame.NoFrame) passPalette = QPalette() passPalette.setColor(QPalette.WindowText, Qt.darkGreen) self.counterTcPass.setPalette(passPalette) self.counterTcFail = QLCDNumber(self) try: self.counterTcFail.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTcFail.setSegmentStyle(QLCDNumber.Flat) self.counterTcFail.setFrameShape(QFrame.NoFrame) failPalette = QPalette() failPalette.setColor(QPalette.WindowText, Qt.red) self.counterTcFail.setPalette(failPalette) self.counterTcUndef = QLCDNumber(self) try: self.counterTcUndef.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTcUndef.setSegmentStyle(QLCDNumber.Flat) self.counterTcUndef.setFrameShape(QFrame.NoFrame) underPalette = QPalette() underPalette.setColor(QPalette.WindowText, Qt.darkBlue) self.counterTcUndef.setPalette(underPalette) self.counterTcTotal = QLCDNumber(self) try: self.counterTcTotal.setDigitCount(NB_LCD_DIGITS) except AttributeError: pass self.counterTcTotal.setSegmentStyle(QLCDNumber.Flat) self.counterTcTotal.setFrameShape(QFrame.NoFrame) font2 = QFont(FONT_NAME, FONT_SIZE2) font2.setBold(True) self.tgLabel = QLabel("Tests\nGlobal") self.tgLabel.setFont(font2) self.tgLabel.setAlignment(Qt.AlignRight | Qt.AlignVCenter) self.tpLabel = QLabel("Tests\nPlan") self.tpLabel.setFont(font2) self.tpLabel.setAlignment(Qt.AlignRight | Qt.AlignVCenter) self.tsLabel = QLabel("Tests\nSuite") self.tsLabel.setFont(font2) self.tsLabel.setAlignment(Qt.AlignRight | Qt.AlignVCenter) self.tuLabel = QLabel("Tests\nUnit") self.tuLabel.setFont(font2) self.tuLabel.setAlignment(Qt.AlignRight | Qt.AlignVCenter) self.taLabel = QLabel("Tests\nAbstract") self.taLabel.setFont(font2) self.taLabel.setAlignment(Qt.AlignRight | Qt.AlignVCenter) self.tcLabel = QLabel("Tests\nCase") self.tcLabel.setFont(font2) self.tcLabel.setAlignment(Qt.AlignRight | Qt.AlignVCenter) self.totLabel = QLabel("TOTAL") self.totLabel.setFont(font2) self.totLabel.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter) font3 = QFont(FONT_NAME, FONT_SIZE3) font3.setItalic(True) self.totPassValue = QLabel("0<br />0%") self.totPassValue.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter) self.totPassValue.setFont(font3) self.totFailedValue = QLabel("0<br />0%") self.totFailedValue.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter) self.totFailedValue.setFont(font3) self.totUndefValue = QLabel("0<br />0%") self.totUndefValue.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter) self.totUndefValue.setFont(font3) self.totValue = QLabel("0<br />0%") self.totValue.setFont(font3) self.totValue.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter) #gridLayout.addWidget(self.totalLabel, 0, 0) gridLayout.addWidget(self.tgLabel, 0, 1) gridLayout.addWidget(self.tpLabel, 0, 2) gridLayout.addWidget(self.tsLabel, 0, 3) gridLayout.addWidget(self.tuLabel, 0, 4) gridLayout.addWidget(self.taLabel, 0, 5) gridLayout.addWidget(self.tcLabel, 0, 6) gridLayout.addWidget(self.passLabel, 1, 0) gridLayout.addWidget(self.counterTgPass, 1, 1) gridLayout.addWidget(self.counterTpPass, 1, 2) gridLayout.addWidget(self.counterTsPass, 1, 3) gridLayout.addWidget(self.counterTuPass, 1, 4) gridLayout.addWidget(self.counterTaPass, 1, 5) gridLayout.addWidget(self.counterTcPass, 1, 6) gridLayout.addWidget(self.failLabel, 2, 0) gridLayout.addWidget(self.counterTgFail, 2, 1) gridLayout.addWidget(self.counterTpFail, 2, 2) gridLayout.addWidget(self.counterTsFail, 2, 3) gridLayout.addWidget(self.counterTuFail, 2, 4) gridLayout.addWidget(self.counterTaFail, 2, 5) gridLayout.addWidget(self.counterTcFail, 2, 6) gridLayout.addWidget(self.undefLabel, 3, 0) gridLayout.addWidget(self.counterTgUndef, 3, 1) gridLayout.addWidget(self.counterTpUndef, 3, 2) gridLayout.addWidget(self.counterTsUndef, 3, 3) gridLayout.addWidget(self.counterTuUndef, 3, 4) gridLayout.addWidget(self.counterTaUndef, 3, 5) gridLayout.addWidget(self.counterTcUndef, 3, 6) gridLayout.addWidget(self.counterTgTotal, 4, 1) gridLayout.addWidget(self.counterTpTotal, 4, 2) gridLayout.addWidget(self.counterTsTotal, 4, 3) gridLayout.addWidget(self.counterTuTotal, 4, 4) gridLayout.addWidget(self.counterTaTotal, 4, 5) gridLayout.addWidget(self.counterTcTotal, 4, 6) gridLayout.addWidget(self.totLabel, 0, 7) gridLayout.addWidget(self.totPassValue, 1, 7) gridLayout.addWidget(self.totFailedValue, 2, 7) gridLayout.addWidget(self.totUndefValue, 3, 7) gridLayout.addWidget(self.totValue, 4, 7) mainLayout.addLayout(gridLayout) self.setLayout(mainLayout)