def center(self): qr = self.dialog.frameGeometry() # 返回QRect,当前窗口坐标 cp = QtWidgets.QDesktopWidget().availableGeometry().center( ) # 返回桌面的中心点 qr.moveCenter(cp) # 把当前窗口矩形移到屏幕中心点 self.dialog.move(qr.topLeft())
def center(self): qr = self.dialog.frameGeometry() cp = QtWidgets.QDesktopWidget().availableGeometry().center() qr.moveCenter(cp) self.dialog.move(qr.topLeft())
def center(self): screen = QtWidgets.QDesktopWidget().screenGeometry() size = self.geometry() self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2)
def center(self): frameGm = self.frameGeometry() centerPoint = QtWidgets.QDesktopWidget().availableGeometry().center() frameGm.moveCenter(centerPoint) self.move(frameGm.topLeft())
def main(): app = QtWidgets.QApplication(sys.argv) screen = QtWidgets.QDesktopWidget().availableGeometry() gallery = Gallery(screen.width(), screen.height()) gallery.show() sys.exit(app.exec_())
-86.0, -50.0, 0.0, 1.0, 0.0, 86.0, -50.0, 0.0, 0.0, 1.0, )) self.vao = self.ctx.simple_vertex_array(self.prog, self.vbo, ['in_vert', 'in_color']) def paintGL(self): width, height = self.width(), self.height() self.ctx.viewport = (0, 0, width, height) self.ctx.clear(0.9, 0.9, 0.9) self.ctx.enable(ModernGL.BLEND) self.window_size.value = (width, height) self.vao.render() app = QtWidgets.QApplication([]) window = QGLControllerWidget() window.move(QtWidgets.QDesktopWidget().rect().center() - window.rect().center()) window.show() app.exec_()
def __init__(self, parent=None): super(FixedLineEdit, self).__init__(parent) screen_width = QtWidgets.QDesktopWidget().screenGeometry().width() self.adjusted_size = screen_width // 4.8
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") app_width, app_height = 801, 600 MainWindow.setFixedSize(app_width, app_height) ''' Center app on screen f**k the traditional technics ''' qr = QtWidgets.QDesktopWidget().screenGeometry() left = (qr.width() // 2) - (app_width // 2) top = (qr.height() // 2) - (app_height // 2) MainWindow.setGeometry(left, top, app_width, app_height) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.frame = QtWidgets.QFrame(self.centralwidget) self.frame.setGeometry(QtCore.QRect(-1, 0, 811, 601)) self.frame.setStyleSheet( "font-family: Roboto, sans-serif, sans, Arial, Helvetica;\n" "background-color: rgb(255, 255, 255);") self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame.setFrameShadow(QtWidgets.QFrame.Raised) self.frame.setObjectName("frame") self.illustration_img_label = QtWidgets.QLabel(self.frame) self.illustration_img_label.setGeometry( QtCore.QRect(130, 160, 591, 111)) self.illustration_img_label.setText("") self.illustration_img_label.setPixmap(self.app_context.people_icon) self.illustration_img_label.setObjectName("illustration_img_label") self.hash_result_label = QtWidgets.QLabel(self.frame) self.hash_result_label.setGeometry(QtCore.QRect(90, 340, 641, 61)) self.hash_result_label.setStyleSheet( "border-radius: 6px;\n" "border: 2px solid rgb(0, 0, 0);\n" "padding-left: 6px;\n" "padding-right: 6px;\n" "font-size: 13pt;\n" "color: rgb(0, 0, 0);\n" "font-weight: bold;") self.hash_result_label.setWordWrap(True) self.hash_result_label.setAlignment(QtCore.Qt.AlignVCenter) self.hash_result_label.setObjectName("hash_result_label") self.file_extension_label = QtWidgets.QLabel(self.frame) self.file_extension_label.setGeometry(QtCore.QRect(354, 10, 100, 100)) self.file_extension_label.setStyleSheet( "font-size: 15pt;\n" "background-color: rgb(0, 0, 0);\n" "color: #fff;\n" "border-radius: 50%;\n" "") self.file_extension_label.setAlignment(QtCore.Qt.AlignCenter) self.file_extension_label.setObjectName("file_extension_label") self.reset_button = QtWidgets.QPushButton(self.frame) self.reset_button.setGeometry(QtCore.QRect(100, 500, 111, 41)) self.reset_button.setStyleSheet( "\n" "QPushButton {\n" " background-color: rgb(6, 6, 6);\n" " color: #fff;\n" " border-radius: 8px;\n" "}\n" "\n" "QPushButton:hover {\n" " background-color: rgb(89, 89, 89);\n" "}") icon = QtGui.QIcon() icon.addPixmap(self.app_context.reset_icon, QtGui.QIcon.Normal, QtGui.QIcon.Off) self.reset_button.setIcon(icon) self.reset_button.setObjectName("reset_button") self.compare_tips_label = QtWidgets.QLabel(self.frame) self.compare_tips_label.setGeometry(QtCore.QRect(410, 510, 400, 31)) self.compare_tips_label.setStyleSheet("font-size: 11pt;\n" "color: rgb(0, 0, 0);") self.compare_tips_label.setObjectName("compare_tips_label") self.compare_tip_icon_label = QtWidgets.QLabel(self.frame) self.compare_tip_icon_label.setGeometry(QtCore.QRect(380, 500, 31, 51)) self.compare_tip_icon_label.setText("") self.compare_tip_icon_label.setPixmap(self.app_context.bulb_icon) self.compare_tip_icon_label.setObjectName("compare_tip_icon_label") self.compare_result_label = QtWidgets.QLabel(self.frame) self.compare_result_label.setGeometry(QtCore.QRect(90, 30, 111, 41)) self.compare_result_label.setStyleSheet("font-size: 12pt;\n" "color: rgb(95, 211, 141);\n" "font-weight: bold;\n" "") self.compare_result_label.setObjectName("compare_result_label") self.import_button = QtWidgets.QPushButton(self.frame) self.import_button.setGeometry(QtCore.QRect(350, 430, 111, 41)) self.import_button.setStyleSheet( "\n" "QPushButton {\n" " background-color: rgb(6, 6, 6);\n" " color: #fff;\n" " border-radius: 8px;\n" "}\n" "\n" "QPushButton:hover {\n" " background-color: rgb(89, 89, 89);\n" "}") icon1 = QtGui.QIcon() icon1.addPixmap(self.app_context.import_icon, QtGui.QIcon.Normal, QtGui.QIcon.Off) self.import_button.setIcon(icon1) self.import_button.setObjectName("import_button") self.compare_result_icon = QtWidgets.QLabel(self.frame) self.compare_result_icon.setGeometry(QtCore.QRect(200, 30, 41, 31)) self.compare_result_icon.setText("") self.compare_result_icon.setPixmap(self.app_context.checked_icon) self.compare_result_icon.setObjectName("compare_result_icon") self.label = QtWidgets.QLabel(self.frame) self.label.setGeometry(QtCore.QRect(570, 570, 231, 21)) self.label.setStyleSheet("font-size: 12px;") self.label.setObjectName("label") self.current_hash_label = QtWidgets.QLabel(self.frame) self.current_hash_label.setGeometry(QtCore.QRect(90, 290, 71, 31)) self.current_hash_label.setStyleSheet("font-size: 13pt;\n" "color: rgb(0, 0, 0);\n" "font-weight: bold;") self.current_hash_label.setObjectName("current_hash_label") self.next_hash_label = QtWidgets.QLabel(self.frame) self.next_hash_label.setGeometry(QtCore.QRect(658, 290, 71, 41)) self.next_hash_label.setStyleSheet("font-size: 13pt;\n" "color: rgb(0, 0, 0);\n" "font-weight: bold;") self.next_hash_label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.next_hash_label.setObjectName("next_hash_label") self.next_hash_button = QtWidgets.QPushButton(self.frame) self.next_hash_button.setGeometry(QtCore.QRect(370, 290, 61, 36)) self.next_hash_button.setStyleSheet( "\n" "QPushButton {\n" " background-color: rgb(255, 255, 255);\n" " border: 0 solid none;\n" "}\n" "\n" "\n" "QPushButton:hover {\n" " background-color: rgb(237, 237, 237);\n" "}") self.next_hash_button.setText("") icon2 = QtGui.QIcon() icon2.addPixmap(self.app_context.swap_icon, QtGui.QIcon.Normal, QtGui.QIcon.Off) self.next_hash_button.setIcon(icon2) self.next_hash_button.setObjectName("next_hash_button") self.filename_label = QtWidgets.QLabel(self.frame) self.filename_label.setGeometry(QtCore.QRect(64, 130, 681, 20)) self.filename_label.setStyleSheet("font-weight: bold;\n" "color: rgb(138, 146, 167);") self.filename_label.setAlignment(QtCore.Qt.AlignCenter) self.filename_label.setObjectName("filename_label") self.hash_copy_info = QtWidgets.QLabel(self.frame) self.hash_copy_info.setGeometry(QtCore.QRect(540, 40, 201, 31)) self.hash_copy_info.setStyleSheet("font-weight: bold;\n" "color: rgb(138, 146, 167);") self.hash_copy_info.setAlignment(QtCore.Qt.AlignCenter) self.hash_copy_info.setObjectName("hash_copy_info") ''' Connected slots to buttons ''' self.reset_button.clicked.connect(self.on_push_reset_button) self.import_button.clicked.connect(self.on_push_import_button) self.next_hash_button.clicked.connect(self.on_push_next_hash_button) self.hash_result_label.mouseReleaseEvent = self.on_push_result_label QtWidgets.QApplication.clipboard().dataChanged.connect( self.on_clipboard_change) MainWindow.setCentralWidget(self.centralwidget) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow)
def central(self): screen = QtWidgets.QDesktopWidget().screenGeometry() size = self.geometry() self.move(screen.width() - size.width(), 0)
def move_to_center(form): qtRectangle = form.frameGeometry() centerPoint = QtWidgets.QDesktopWidget().availableGeometry().center() qtRectangle.moveCenter(centerPoint) form.move(qtRectangle.topLeft())
def __init__(self, parent=None): super(MainGui, self).__init__(parent) self.setWindowTitle(self.tr("Solar cell production simulation")) self.setWindowIcon(QtGui.QIcon(":DescPro_icon.png")) ### Set initial geometry and center the window on the screen ### self.resize(1024, 576) frameGm = self.frameGeometry() centerPoint = QtWidgets.QDesktopWidget().availableGeometry().center() frameGm.moveCenter(centerPoint) self.move(frameGm.topLeft()) ### Set default font size ### self.setStyleSheet('font-size: 12pt;') self.edit = QtWidgets.QTextBrowser() self.edit.verticalScrollBar().setValue( self.edit.verticalScrollBar().maximum()) self.table_widget = QtWidgets.QTableWidget() self.clip = QtWidgets.QApplication.clipboard() self.qt_thread = QtCore.QThread(self) # Separate Qt thread self.simulation_thread = RunSimulationThread( self) # Where all the simulation work will be done self.simulation_thread.moveToThread( self.qt_thread) # Move simulation work to separate thread self.qt_thread.started.connect( self.simulation_thread.run ) # Start simulation when thread is started self.simulation_thread.signal.sig.connect( self.simulation_end_signal ) # Get signal to show message when simulation is finished self.simulation_thread.signal.sig.connect( self.qt_thread.quit) # Stop thread when simulation is finished self.simulation_thread.output.sig.connect( self.simulation_output) # Get signal to show simulation progress self.simulation_thread.util.sig.connect( self.utilization_output) # Get signal to show utilization results self.output_signal_counter = 0 self.output_overload_signal_given = False self.wid = None # will contain window for displaying production rates self.plot_selection = [] # selected items for display self.prev_dir_path = "" self.prev_save_path = "" # Batchlocations self.batchlocations_model = QtGui.QStandardItemModel() self.batchlocations_view = DeselectableTreeView() self.tools_widget = ToolsWidget(self) self.batchlocations_view.doubleClicked.connect( self.tools_widget.edit_batchlocation_view) self.batchlocations_view.setAlternatingRowColors(False) self.batch_filter = BatchlocationsViewKeyFilter() self.batchlocations_view.installEventFilter(self.batch_filter) self.batch_filter.signal.connect(self.treeview_signals) # Cassette loops self.cassetteloops_model = QtGui.QStandardItemModel() self.cassetteloops_view = DeselectableTreeView() self.cassetteloops_widget = CassetteloopsWidget(self) self.cassetteloops_view.doubleClicked.connect( self.cassetteloops_widget.edit_cassetteloop_view) self.cassetteloops_view.setAlternatingRowColors(False) self.cassetteloops_filter = CassetteLoopsKeyFilter() self.cassetteloops_view.installEventFilter(self.cassetteloops_filter) self.cassetteloops_filter.signal.connect(self.treeview_signals) # Operators self.operators_model = QtGui.QStandardItemModel() self.operators_view = DeselectableTreeView() self.operators_widget = OperatorsWidget(self) self.operators_view.doubleClicked.connect( self.operators_widget.edit_operator_view) self.operators_view.setAlternatingRowColors(False) self.oper_filter = OperatorsViewKeyFilter() self.operators_view.installEventFilter(self.oper_filter) self.oper_filter.signal.connect(self.treeview_signals) # Technicians self.technicians_model = QtGui.QStandardItemModel() self.technicians_view = DeselectableTreeView() self.technicians_widget = TechniciansWidget(self) self.technicians_view.doubleClicked.connect( self.technicians_widget.edit_technician_view) self.technicians_view.setAlternatingRowColors(False) self.tech_filter = TechniciansViewKeyFilter() self.technicians_view.installEventFilter(self.tech_filter) self.tech_filter.signal.connect(self.treeview_signals) self.sim_time_selection_list = [ '1 hour', '1 day', '1 week', '1 month', '1 year' ] self.params = {} self.params['time_limit'] = 60 * 60 self.params['profiling_mode'] = False self.create_menu() self.create_main_frame() self.tools_widget.load_definition() self.cassetteloops_widget.load_definition() self.operators_widget.load_definition() self.technicians_widget.load_definition()
def setupUi(self, Dialog_cats): Dialog_cats.setObjectName(_fromUtf8("Dialog_cats")) sizeObject = QtWidgets.QDesktopWidget().screenGeometry(-1) h = sizeObject.height() * 0.8 w = sizeObject.width() * 0.8 h = min([h, 1000]) w = min([w, 2000]) Dialog_cats.resize(w, h) Dialog_cats.move(20, 20) self.pushButton_add = QtWidgets.QPushButton(Dialog_cats) self.pushButton_add.setGeometry(QtCore.QRect(10, 10, 98, 27)) self.pushButton_add.setObjectName(_fromUtf8("pushButton_add")) self.pushButton_delete = QtWidgets.QPushButton(Dialog_cats) self.pushButton_delete.setGeometry(QtCore.QRect(130, 10, 98, 27)) self.pushButton_delete.setObjectName(_fromUtf8("pushButton_delete")) self.pushButton_mergeCats = QtWidgets.QPushButton(Dialog_cats) self.pushButton_mergeCats.setGeometry(QtCore.QRect(360, 10, 130, 27)) self.pushButton_mergeCats.setObjectName( _fromUtf8("pushButton_mergeCats")) self.pushButton_link = QtWidgets.QPushButton(Dialog_cats) self.pushButton_link.setGeometry(QtCore.QRect(10, 50, 98, 27)) self.pushButton_link.setObjectName(_fromUtf8("pushButton_link")) self.pushButton_unlink = QtWidgets.QPushButton(Dialog_cats) self.pushButton_unlink.setGeometry(QtCore.QRect(130, 50, 98, 27)) self.pushButton_unlink.setObjectName(_fromUtf8("pushButton_unlink")) self.pushButton_unlink.setEnabled(False) '''self.pushButton_unmark = QtWidgets.QPushButton(Dialog_cats) self.pushButton_unmark.setGeometry(QtCore.QRect(250, 50, 98, 27)) self.pushButton_unmark.setObjectName(_fromUtf8("pushButton_unmark")) self.pushButton_mark = QtWidgets.QPushButton(Dialog_cats) self.pushButton_mark.setGeometry(QtCore.QRect(370, 50, 98, 27)) self.pushButton_mark.setObjectName(_fromUtf8("pushButton_mark"))''' #ADDIN self.splitter = QtWidgets.QSplitter(Dialog_cats) self.splitter.setGeometry(QtCore.QRect(10, 90, w - 20, h - 100)) self.splitter.setOrientation(QtCore.Qt.Horizontal) self.splitter.setObjectName(_fromUtf8("splitter")) #END ADDIN self.tableWidget_files = QtWidgets.QTableWidget(self.splitter) self.tableWidget_files.setGeometry(QtCore.QRect(500, 90, 460, h - 200)) self.tableWidget_files.setObjectName(_fromUtf8("tableWidget_files")) self.tableWidget_files.setColumnCount(0) self.tableWidget_files.setRowCount(0) #self.tableWidget_files.setSelectionMode( QtWidgets.QAbstractItemView.SingleSelection ) self.tableWidget_cats = QtWidgets.QTableWidget(self.splitter) self.tableWidget_cats.setGeometry(QtCore.QRect(10, 90, 460, h - 200)) self.tableWidget_cats.setObjectName(_fromUtf8("tableWidget_cats")) self.tableWidget_cats.setColumnCount(0) self.tableWidget_cats.setRowCount(0) #self.tableWidget_cats.setSelectionMode( QtWidgets.QAbstractItemView.SingleSelection ) #fill files table self.tableWidget_files.setColumnCount(3) self.tableWidget_files.setHorizontalHeaderLabels( ["File", "Memo", "id"]) for row, file in enumerate(self.source): self.tableWidget_files.insertRow(row) self.tableWidget_files.setItem( row, self.FILE_NAME_COLUMN, QtWidgets.QTableWidgetItem(file['name'])) mtmp = file['memo'] if mtmp is not None and mtmp != "": self.tableWidget_files.setItem( row, self.FILE_MEMO_COLUMN, QtWidgets.QTableWidgetItem("Yes")) fid = file['id'] if fid is None: fid = "" self.tableWidget_files.setItem( row, self.FILE_ID_COLUMN, QtWidgets.QTableWidgetItem(str(fid))) self.tableWidget_files.verticalHeader().setVisible(False) self.tableWidget_files.resizeColumnsToContents() self.tableWidget_files.resizeRowsToContents() if not self.settings['showIDs']: self.tableWidget_files.hideColumn(self.FILE_ID_COLUMN) #fill categories table self.tableWidget_cats.setColumnCount(4) self.tableWidget_cats.setHorizontalHeaderLabels( ["Category", "Memo", "View", "catid"]) for row, filecat in enumerate(self.cats): self.tableWidget_cats.insertRow(row) self.tableWidget_cats.setItem( row, self.CAT_NAME_COLUMN, QtWidgets.QTableWidgetItem(filecat['name'])) mtmp = filecat['memo'] if mtmp is not None and mtmp != "": self.tableWidget_cats.setItem( row, self.CAT_MEMO_COLUMN, QtWidgets.QTableWidgetItem("Yes")) catid = filecat['catid'] if catid is None: catid = "" self.tableWidget_cats.setItem( row, self.CAT_ID_COLUMN, QtWidgets.QTableWidgetItem(str(catid))) self.tableWidget_cats.verticalHeader().setVisible(False) self.tableWidget_cats.resizeColumnsToContents() self.tableWidget_cats.resizeRowsToContents() if not self.settings['showIDs']: self.tableWidget_cats.hideColumn(self.CAT_ID_COLUMN) self.tableWidget_files.cellClicked.connect(self.fileCellSelected) self.tableWidget_cats.cellClicked.connect(self.catsCellSelected) self.tableWidget_cats.itemChanged.connect(self.catsCellModified) self.tableWidget_files.itemChanged.connect(self.fileCellModified) self.pushButton_add.clicked.connect(self.addCat) self.pushButton_delete.clicked.connect(self.deleteCat) self.pushButton_link.clicked.connect(self.link) self.pushButton_unlink.clicked.connect(self.unlink) self.pushButton_mergeCats.clicked.connect(self.mergeCats) #self.pushButton_memo.clicked.connect(self.codeMemo) #self.pushButton_memo.clicked.connect(self.catMemo) #END ADDIN self.retranslateUi(Dialog_cats) QtCore.QMetaObject.connectSlotsByName(Dialog_cats)
def center(self): frameGeometry = self.frameGeometry() center = qtw.QDesktopWidget().availableGeometry().center() frameGeometry.moveCenter(center) self.move(frameGeometry.topLeft())
def __init__(self, *args, parent=None): """ Constructor Parametros ---------- args : varios Parametros varios parent : None Parent class de ventana """ QtWidgets.QMainWindow.__init__(self, parent) # Configuracion estetica de MainWindow self.setupUi(self) self.setStyleSheet( "#MainWindow { border-image: url(./resources/background.jpg) 0 0 0 0 stretch stretch; }" ) self.setWindowIcon( QtGui.QIcon('./resources/emblema_Quetzal-1.png' )) # Configurar imagen de fondo e icono de aplicacion self.windows_icon = QtGui.QIcon('./resources/emblema_Quetzal-1.png') _maximizado = False if (_maximizado == False): # Resize de ventana (97.5% de ancho de pantalla, 90% de alto # de pantalla) screen = QtWidgets.QDesktopWidget().screenGeometry(-1) if (screen.width() > 1500): width_factor = 0.90 height_factor = 0.85 else: width_factor = 0.975 height_factor = 0.90 #self.setFixedSize(QtCore.QSize(screen.width() * width_factor, screen.height() * height_factor)) self.resize( QtCore.QSize(screen.width() * width_factor, screen.height() * height_factor)) self.setWindowFlag(QtCore.Qt.WindowMaximizeButtonHint, True) # Centrado de ventana en pantalla qr = self.frameGeometry() cp = QtWidgets.QDesktopWidget().availableGeometry().center() qr.moveCenter(cp) self.move(qr.topLeft()) else: self.showMaximized() self.setWindowFlag( QtCore.Qt.WindowMaximizeButtonHint, False) # Deshabilitar opcion de maximizado de ventana # Inicializacion de variables de clase now = datetime.now() self.current_time = now.strftime("%H:%M:%S") # Obtener tiempo actual self.current_date = now.strftime("%Y-%m-%d") # Obtener fecha actual self.selected_port = False # Puerto aun no seleccionado self.hexSelected = False # HEX File aun no seleccionado self.playHex = True # Comenzar en estado PLAY GUI self.steppingBackwards = False # Estado RETROCEDER GUI desactivado C = pg.hsvColor(0.3, 1.0, 1.0) self.pen = pg.mkPen( color=C, width=2.5) # Marcador para pintar graficas en interfaz self.beacon_counter = 0 # Contador No.1 de beacon (cuenta individualmente cada dato de beacon) self.num_beacon = 0 # Contador No.2 de beacon (cuenta cada paquete de beacon leido) self.beacon_data = 0 # Variable que almacena los datos de beacon procesados de linea de archivo o linea recibida por puerto TCP # CDHS Dialog self.pantalla_CDHS = Pantalla_CDHS(parent=self) # RAM Dialog self.pantalla_RAM = Pantalla_RAM(parent=self) # Configuracion de timer que actualiza data self.timer = QtCore.QTimer() self.timer.timeout.connect(self.updatedata) self.timer.start(1000) # Comenzar con todos los botones desactivados (excepto Select # HEX y Conectar a puerto) self.pushButton.setEnabled(False) self.pushButton_2.setEnabled(False) self.pushButton_3.setEnabled(False) self.pushButton_5.setEnabled(False) self.pushButton_6.setEnabled(False) self.pushButton_7.setEnabled(False) # Ejecutar conexion de seniales self.connect_slots() # Configuracion de graficas self.configurar_graficas() print('Starting QUETZAL-1 UHF Desktop')
fmt.setSampleBuffers(True) fmt.setSwapInterval(1) super(QGLControllerWidget, self).__init__(fmt, None) self.app = None self.timer = QtCore.QElapsedTimer() self.timer.start() def keyPressEvent(self, evt): self.app.shoot() def initializeGL(self): self.app = App() def paintGL(self): if self.app is not None: self.app.render((0, 0, self.width(), self.height()), self.timer.elapsed() / 1000) self.update() if __name__ == '__main__': app = QtWidgets.QApplication([]) window = QGLControllerWidget() screen = QtWidgets.QDesktopWidget().screenGeometry(-1) window.move((screen.width() - 1280) // 2, (screen.height() - 720) // 2) window.resize(1280, 720) window.show() app.exec_()
def __init__(self, geometry=None, process_names=None, parent=None): super().__init__(parent) if geometry == None: self.setGeometry(0, 0, 260, 400) sg = QtWidgets.QDesktopWidget().screenGeometry(0) self.move(sg.width()-self.width()-10, sg.top()+210) else: self.setGeometry(*geometry) self.setWindowTitle('Performance overaly position') self.setWindowIcon(QtGui.QIcon(innerPath('src/OverlayIcon.ico'))) # Move to top-right self.setStyleSheet('color: white') self.setWindowFlags(QtCore.Qt.FramelessWindowHint|QtCore.Qt.WindowTransparentForInput|QtCore.Qt.WindowStaysOnTopHint|QtCore.Qt.CoverWindow|QtCore.Qt.NoDropShadowWindowHint|QtCore.Qt.WindowDoesNotAcceptFocus) self.setAttribute(QtCore.Qt.WA_TranslucentBackground, True) # Data self.restart() # Inits some data self.core_count = psutil.cpu_count() self.iter = 1000 # Length of whole loop in miliseconds self.sc2process_names = process_names self.fixed = True self.started = False self.bytes_sent = None self.bytes_recv = None self.sc2_idx_search = -1 # SC2 widgets self.layout = QtWidgets.QGridLayout() self.layout.setAlignment(QtCore.Qt.AlignTop) self.layout.setVerticalSpacing(2) self.setLayout(self.layout) self.la_sc2 = QtWidgets.QLabel() self.la_sc2.setText('<b>StarCraft II</b>') self.layout.addWidget(self.la_sc2, 0, 0, 1, 2) self.la_sc2_memory = QtWidgets.QLabel() self.la_sc2_memory.setText('RAM') self.layout.addWidget(self.la_sc2_memory, 1, 0, 1, 1) self.la_sc2_memory_value = QtWidgets.QLabel() self.layout.addWidget(self.la_sc2_memory_value, 1, 1, 1, 1) self.la_sc2_read = QtWidgets.QLabel() self.la_sc2_read.setText('Read') self.layout.addWidget(self.la_sc2_read, 2, 0, 1, 1) self.la_sc2_read_value = QtWidgets.QLabel() self.layout.addWidget(self.la_sc2_read_value, 2, 1, 1, 1) self.la_sc2_read_value_total = QtWidgets.QLabel() self.layout.addWidget(self.la_sc2_read_value_total, 3, 1, 1, 1) self.la_sc2_write = QtWidgets.QLabel() self.la_sc2_write.setText('Write') self.layout.addWidget(self.la_sc2_write, 4, 0, 1, 1) self.la_sc2_write_value = QtWidgets.QLabel() self.layout.addWidget(self.la_sc2_write_value, 4, 1, 1, 1) self.la_sc2_write_value_total = QtWidgets.QLabel() self.layout.addWidget(self.la_sc2_write_value_total, 5, 1, 1, 1) self.la_spacer = QtWidgets.QLabel() self.la_spacer.setText('') self.layout.addWidget(self.la_spacer, 6, 0, 1, 1) self.la_sc2_cpu = QtWidgets.QLabel() self.la_sc2_cpu.setText('<b>CPUc</b>') self.layout.addWidget(self.la_sc2_cpu, 7, 0, 1, 1) self.la_sc2_cpu_value = QtWidgets.QLabel() self.layout.addWidget(self.la_sc2_cpu_value, 7, 1, 1, 1) # System widgets self.la_system = QtWidgets.QLabel() self.la_system.setText('<b>System</b>') self.layout.addWidget(self.la_system, 0, 2, 1, 2) self.la_memory = QtWidgets.QLabel() self.la_memory.setText('RAM') self.layout.addWidget(self.la_memory, 1, 2, 1, 1) self.la_memory_value = QtWidgets.QLabel() self.layout.addWidget(self.la_memory_value, 1, 3, 1, 1) self.la_download = QtWidgets.QLabel() self.la_download.setText('Down') self.layout.addWidget(self.la_download, 2, 2, 1, 1) self.la_download_value = QtWidgets.QLabel() self.layout.addWidget(self.la_download_value, 2, 3, 1, 1) self.la_download_value_total = QtWidgets.QLabel() self.layout.addWidget(self.la_download_value_total, 3, 3, 1, 1) self.la_upload = QtWidgets.QLabel() self.la_upload.setText('Upload') self.layout.addWidget(self.la_upload, 4, 2, 1, 1) self.la_upload_value = QtWidgets.QLabel() self.layout.addWidget(self.la_upload_value, 4, 3, 1, 1) self.la_upload_value_total = QtWidgets.QLabel() self.layout.addWidget(self.la_upload_value_total, 5, 3, 1, 1) self.la_cpu = QtWidgets.QLabel() self.la_cpu.setText('<b>CPU utilization</b>') self.layout.addWidget(self.la_cpu, 7, 2, 1, 2) self.cpu_cores = dict() for idx in range(psutil.cpu_count()): self.cpu_cores[('label', idx)] = QtWidgets.QLabel() self.cpu_cores[('label', idx)].setText(f"CPU{idx}") self.cpu_cores[('label', idx)].setAlignment(QtCore.Qt.AlignRight) self.layout.addWidget(self.cpu_cores[('label', idx)], 8 + idx, 2, 1, 1) self.cpu_cores[('value', idx)] = QtWidgets.QLabel() self.cpu_cores[('value', idx)].setAlignment(QtCore.Qt.AlignLeft) self.layout.addWidget(self.cpu_cores[('value', idx)], 8 + idx, 3, 1, 1) self.cpu_cores['total_label'] = QtWidgets.QLabel() self.cpu_cores['total_label'].setAlignment(QtCore.Qt.AlignRight) self.cpu_cores['total_label'].setText('total') self.layout.addWidget(self.cpu_cores['total_label'], 8 + idx + 1, 2, 1, 1) self.cpu_cores['total'] = QtWidgets.QLabel() self.cpu_cores['total'].setAlignment(QtCore.Qt.AlignLeft) self.layout.addWidget(self.cpu_cores['total'], 8 + idx + 1, 3, 1, 1) # Headers headers = {self.la_sc2, self.la_system, self.la_cpu} for item in headers: item.setAlignment(QtCore.Qt.AlignCenter) # Labels labels = {self.la_upload, self.la_download, self.la_memory, self.la_sc2_read, self.la_sc2_write, self.la_sc2_cpu, self.la_sc2_memory} for item in labels: item.setAlignment(QtCore.Qt.AlignRight) # Values values = {self.la_download_value_total, self.la_upload_value_total, self.la_sc2_read_value_total, self.la_sc2_write_value_total, self.la_upload_value, self.la_download_value, self.la_memory_value, self.la_sc2_read_value, self.la_sc2_write_value, self.la_sc2_cpu_value, self.la_sc2_memory_value} for item in values: item.setAlignment(QtCore.Qt.AlignLeft) # Add shadows to everything for item in headers.union(labels).union(values).union({self.cpu_cores[i] for i in self.cpu_cores}): shadow = QtWidgets.QGraphicsDropShadowEffect() shadow.setBlurRadius(3) shadow.setOffset(1) shadow.setColor(QtGui.QColor(0, 0, 0)) item.setGraphicsEffect(shadow)
def setupMainWindow(self): self.resize(800, 600) screen = QtWidgets.QDesktopWidget().screenGeometry() size = self.geometry() self.move(( screen.width()-size.width())/2, (screen.height()-size.height())/2) self.setWindowTitle( '{} - {}'.format(self.settings.notebookName, __appname__)) self.viewedList.setFixedHeight(25) self.noteSplitter.addWidget(self.notesEdit) self.noteSplitter.addWidget(self.notesView) mainSplitter = QtWidgets.QSplitter(Qt.Vertical) mainSplitter.setChildrenCollapsible(False) mainSplitter.addWidget(self.viewedList) mainSplitter.addWidget(self.noteSplitter) mainSplitter.addWidget(self.findBar) self.setCentralWidget(mainSplitter) self.searchEdit.returnPressed.connect(self.searchNote) self.quickNoteNav.returnPressed.connect(self.openFuncWrapper) searchLayout = QtWidgets.QVBoxLayout() searchLayout.addWidget(self.searchEdit) searchLayout.addWidget(self.searchView) self.searchTab.setLayout(searchLayout) indexLayout = QtWidgets.QVBoxLayout(self.notesTab) indexLayout.addWidget(self.quickNoteNav) indexLayout.addWidget(self.notesTree) self.dockIndex.setObjectName("Index") self.dockIndex.setWidget(self.notesTab) self.dockSearch.setObjectName("Search") self.dockSearch.setWidget(self.searchTab) self.dockToc.setObjectName("TOC") self.dockToc.setWidget(self.tocTree) self.dockAttachment.setObjectName("Attachment") self.dockAttachment.setWidget(self.attachmentView) self.setDockOptions(QtWidgets.QMainWindow.VerticalTabs) self.addDockWidget(Qt.LeftDockWidgetArea, self.dockIndex) self.addDockWidget(Qt.LeftDockWidgetArea, self.dockSearch) self.addDockWidget(Qt.LeftDockWidgetArea, self.dockToc) self.addDockWidget(Qt.LeftDockWidgetArea, self.dockAttachment) self.tabifyDockWidget(self.dockIndex, self.dockSearch) self.tabifyDockWidget(self.dockSearch, self.dockToc) self.tabifyDockWidget(self.dockToc, self.dockAttachment) self.setTabPosition(Qt.LeftDockWidgetArea, QtWidgets.QTabWidget.North) self.dockIndex.raise_() # Put dockIndex on top of the tab stack menuBar = QtWidgets.QMenuBar(self) self.setMenuBar(menuBar) menuFile = menuBar.addMenu(self.tr('&File')) menuEdit = menuBar.addMenu(self.tr('&Edit')) menuView = menuBar.addMenu(self.tr('&View')) menuHelp = menuBar.addMenu(self.tr('&Help')) # menuFile menuFile.addAction(self.actions['newPage']) menuFile.addAction(self.actions['newSubpage']) menuFile.addAction(self.actions['NBSettings']) menuFile.addAction(self.actions['NBTemplates']) menuFile.addAction(self.actions['MDSettings']) menuFile.addAction(self.actions['importPage']) menuFile.addAction(self.actions['openNotebook']) menuFile.addAction(self.actions['reIndex']) menuFile.addSeparator() menuFile.addAction(self.actions['save']) menuFile.addAction(self.actions['saveAs']) menuFile.addAction(self.actions['print_']) menuExport = menuFile.addMenu(self.tr('&Export')) menuExport.addAction(self.actions['html']) menuFile.addSeparator() menuFile.addAction(self.actions['renamePage']) menuFile.addAction(self.actions['delPage']) menuFile.addSeparator() menuFile.addAction(self.actions['quit']) # menuEdit menuEdit.addAction(self.actions['undo']) menuEdit.addAction(self.actions['redo']) menuEdit.addAction(self.actions['findText']) menuEdit.addAction(self.actions['findRepl']) menuEdit.addSeparator() menuEdit.addAction(self.actions['sortLines']) menuEdit.addAction(self.actions['insertImage']) # menuView menuView.addAction(self.actions['edit']) menuView.addAction(self.actions['split']) menuView.addAction(self.actions['flipEditAndView']) menuShowHide = menuView.addMenu(self.tr('Show/Hide')) menuShowHide.addAction(self.dockIndex.toggleViewAction()) menuShowHide.addAction(self.dockSearch.toggleViewAction()) menuShowHide.addAction(self.dockToc.toggleViewAction()) menuShowHide.addAction(self.dockAttachment.toggleViewAction()) #menuMode = menuView.addMenu(self.tr('Mode')) #menuMode.addAction(self.actionLeftAndRight) #menuMode.addAction(self.actionUpAndDown) # menuHelp menuHelp.addAction(self.actions['readme']) menuHelp.addAction(self.actions['changelog']) menuHelp.addAction(self.actions['aboutQt']) toolBar = QtWidgets.QToolBar(self.tr("toolbar"), self) toolBar.setObjectName("toolbar") # needed in saveState() #toolBar.setIconSize(QSize(16, 16)) toolBar.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) self.addToolBar(Qt.TopToolBarArea, toolBar) toolBar.addAction(self.actions['edit']) toolBar.addAction(self.actions['split']) self.findEdit.returnPressed.connect(self.findText) self.findBar.addWidget(self.findEdit) self.findBar.addWidget(self.checkBox) self.findBar.addAction(self.actions['findPrev']) self.findBar.addAction(self.actions['find']) self.findBar.setVisible(False) self.findBar.visibilityChanged.connect(self.findBarVisibilityChanged) self.setStatusBar(self.statusBar) self.statusBar.addWidget(self.statusLabel, 1) self.notesTree.currentItemChanged.connect( self.currentItemChangedWrapper) self.notesTree.nvwCallback = self.newNoteDisplay self.notesTree.nvwtCallback = self.newPlainTextNoteDisplay self.tocTree.itemClicked.connect(self.tocNavigate) self.notesEdit.textChanged.connect(self.noteEditted) self.notesEdit.document( ).modificationChanged.connect(self.modificationChanged) self.updateRecentViewedNotes() notes = self.settings.recentViewedNotes() if len(notes) != 0: item = self.notesTree.pageToItem(notes[0]) self.notesTree.setCurrentItem(item)
def center_screen(self): size = self.size() desktopSize = QtWidgets.QDesktopWidget().screenGeometry() top = (desktopSize.height() / 2) - (size.height() / 2) left = (desktopSize.width() / 2) - (size.width() / 2) self.move(left, top)
from PyQt5.QtWidgets import QApplication from PyQt5 import QtWidgets import sys app = QApplication(sys.argv) # screen = app.screens()[0] # dpi = screen.physicalDotsPerInch() # image_inch = 300/140 # scale = round(dpi /140, 1) # dpi = screen.physicalDotsPerInch() refHeight = 1080 refWidth = 1920 # QRect rect = QGuiApplication::primaryScreen()->geometry(); resolution = QtWidgets.QDesktopWidget().screenGeometry() width = resolution.width() height = resolution.height() print(width, height) # height = max(width,height) # width = min(width, height) scale = round(min(height / refHeight, width / refWidth), 1) print(scale)
def __init__(self, **kwargs): super().__init__(**kwargs) # Specify OpenGL context parameters gl = QtOpenGL.QGLFormat() gl.setVersion(self.gl_version[0], self.gl_version[1]) gl.setProfile(QtOpenGL.QGLFormat.CoreProfile) gl.setDepthBufferSize(24) gl.setDoubleBuffer(True) gl.setSwapInterval(1 if self.vsync else 0) # Configure multisampling if needed if self.samples > 1: gl.setSampleBuffers(True) gl.setSamples(self.samples) # We need an application object, but we are bypassing the library's # internal event loop to avoid unnecessary work self.app = QtWidgets.QApplication([]) # Create the OpenGL widget self.widget = QtOpenGL.QGLWidget(gl) self.widget.setWindowTitle(self.title) # If fullscreen we change the window to match the desktop on the primary screen if self.fullscreen: rect = QtWidgets.QDesktopWidget().screenGeometry() self.width = rect.width() self.height = rect.height() self.buffer_width = rect.width() * self.widget.devicePixelRatio() self.buffer_height = rect.height() * self.widget.devicePixelRatio() if self.resizable: # Ensure a valid resize policy when window is resizable size_policy = QtWidgets.QSizePolicy( QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding, ) self.widget.setSizePolicy(size_policy) self.widget.resize(self.width, self.height) else: self.widget.setFixedSize(self.width, self.height) # Center the window on the screen if in window mode if not self.fullscreen: self.widget.move(QtWidgets.QDesktopWidget().rect().center() - self.widget.rect().center()) # Needs to be set before show() self.widget.resizeGL = self.resize if not self.cursor: self.widget.setCursor(QtCore.Qt.BlankCursor) if self.fullscreen: self.widget.showFullScreen() else: self.widget.show() # We want mouse position events self.widget.setMouseTracking(True) # Override event functions self.widget.keyPressEvent = self.key_pressed_event self.widget.keyReleaseEvent = self.key_release_event self.widget.mouseMoveEvent = self.mouse_move_event self.widget.mousePressEvent = self.mouse_press_event self.widget.mouseReleaseEvent = self.mouse_release_event self.widget.closeEvent = self.close_event # Attach to the context self.ctx = moderngl.create_context(require=self.gl_version_code) # Ensure retina and 4k displays get the right viewport self.buffer_width = self.width * self.widget.devicePixelRatio() self.buffer_height = self.height * self.widget.devicePixelRatio() self.set_default_viewport() self.print_context_info()
def centralize(self): fg = self.frameGeometry() cp = QtWidgets.QDesktopWidget().availableGeometry().center() fg.moveCenter(cp) self.move(fg.topLeft())
def center(self, _widget): self.widget_size = _widget.frameGeometry() self.display_center = QtWidgets.QDesktopWidget().availableGeometry().center() self.widget_size.moveCenter(self.display_center) _widget.move(self.widget_size.topLeft())
def centerOnScreen(self): resolution = QtWidgets.QDesktopWidget().screenGeometry() self.move((resolution.width() / 2) - (self.frameSize().width() / 2), (resolution.height() / 2) - (self.frameSize().height() / 2))
def __init__(self, **kwargs): """ Args: **kwargs (): Dict of (key, value) pairs of {'DataFrame name': DataFrame object} self.df_dicts is a dictionary of all dataframes in the GUI. {dataframe name: objects} The objects are their own dictionary of: {'dataframe': DataFrame object 'view': DataFrameViewer object 'model': DataFrameModel object 'dataframe_explorer': DataFrameExplorer object} 'display_df': DataFrame object This is a truncated version of the dataframe for displaying """ # Property initialization self.df_dicts = {} # Set in setupUI() self.stacked_widget = None self.splitter = None self.nav_tree = None # Get an application instance self.app = QtWidgets.QApplication.instance() if self.app: print('Using existing QApplication instance') if not self.app: self.app = QtWidgets.QApplication(sys.argv) super().__init__() # This ensures there is always a reference to this widget and it doesn't get garbage collected global instance_list instance_list.append(self) # https://stackoverflow.com/a/27178019/3620725 self.setAttribute(QtCore.Qt.WA_DeleteOnClose) # Adds DataFrames listed in kwargs to df_dict. for i, (df_name, df_object) in enumerate(kwargs.items()): self.df_dicts[df_name] = {} self.df_dicts[df_name]['dataframe'] = df_object # Generates all UI contents self.setupUI() # %% Window settings # Set size screen = QtWidgets.QDesktopWidget().screenGeometry() percentage_of_screen = 0.7 size = tuple((pd.np.array([screen.width(), screen.height()]) * percentage_of_screen).astype(int)) self.resize(QtCore.QSize(*size)) # Center window on screen screen = QtWidgets.QDesktopWidget().screenGeometry() size = self.geometry() self.move(int((screen.width() - size.width()) / 2), int((screen.height() - size.height()) / 2)) # Title and logo self.setWindowTitle('PandasGUI') pdgui_icon = 'images/icon.png' pdgui_icon_path = pkg_resources.resource_filename(__name__, pdgui_icon) self.app.setWindowIcon(QtGui.QIcon(pdgui_icon_path)) self.show()
def __init__(self): """ Creates a pyqt application and window overriding the built in event loop. Sets up keyboard and mouse events and creates a ``monderngl.Context``. """ super().__init__() self._closed = False # Specify OpenGL context parameters gl = QtOpenGL.QGLFormat() gl.setVersion(self.gl_version.major, self.gl_version.minor) gl.setProfile(QtOpenGL.QGLFormat.CoreProfile) gl.setDepthBufferSize(24) gl.setDoubleBuffer(True) gl.setSwapInterval(1 if self.vsync else 0) if self.samples > 1: gl.setSampleBuffers(True) gl.setSamples(self.samples) # We need an application object, but we are not using the event loop self.app = QtWidgets.QApplication([]) # Create the OpenGL widget self.widget = QtOpenGL.QGLWidget(gl) self.widget.setWindowTitle(self.title) # Fetch desktop size if self.fullscreen: rect = QtWidgets.QDesktopWidget().screenGeometry() self.width = rect.width() self.height = rect.height() self.buffer_width = rect.width() * self.widget.devicePixelRatio() self.buffer_height = rect.height() * self.widget.devicePixelRatio() if self.resizable: size_policy = QtWidgets.QSizePolicy( QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding, ) self.widget.setSizePolicy(size_policy) self.widget.resize(self.width, self.height) else: self.widget.setFixedSize(self.width, self.height) self.widget.move(QtWidgets.QDesktopWidget().rect().center() - self.widget.rect().center()) self.widget.resizeGL = self.resize # Needs to be set before show() self.widget.show() if not self.cursor: self.widget.setCursor(QtCore.Qt.BlankCursor) if self.fullscreen: self.widget.showFullScreen() # We want mouse position events self.widget.setMouseTracking(True) # Override event functions self.widget.keyPressEvent = self.keyPressEvent self.widget.keyReleaseEvent = self.keyReleaseEvent self.widget.mouseMoveEvent = self.mouseMoveEvent # Attach to the context self.ctx = moderngl.create_context(require=self.gl_version.code) context.WINDOW = self self.fbo = self.ctx.screen # Ensure retina and 4k displays get the right viewport self.buffer_width = self.width * self.widget.devicePixelRatio() self.buffer_height = self.height * self.widget.devicePixelRatio() self.set_default_viewport()
def setWindowToCenter(self): positioning = self.frameGeometry() centralPosition= QtWidgets.QDesktopWidget().availableGeometry().center() positioning.moveCenter(centralPosition) self.move(positioning.topLeft())
def initUI(self, cfg, dta): self.viewDirectory = cfg.directory self.cfg = cfg imagesList = dta.imgDiffs self.depHashes = dta.depHashes self.imagesList = sorted(imagesList, key=lambda imagesList: imagesList[1]) self.imagePos = 0 self.screenShape = QtWidgets.QDesktopWidget().screenGeometry() self.resize(800, 600) self.setMinimumWidth(800) self.setMinimumHeight(600) self.calculatedImages = {} for n in range(0, len(self.imagesList)): self.calculatedImages[n] = None # Left image (reference) self.leftImage = QtWidgets.QLabel(self) self.leftImage.installEventFilter(self) self.leftImage.setAlignment(QtCore.Qt.AlignCenter) # Right image (comparison) self.rightImage = QtWidgets.QLabel(self) self.rightImage.installEventFilter(self) self.rightImage.setAlignment(QtCore.Qt.AlignCenter) exitAction = QtWidgets.QAction('&Exit', self) exitAction.setShortcut('Ctrl+Q') exitAction.setStatusTip('Exit application') exitAction.triggered.connect(QtWidgets.QApplication.quit) nextAction = QtWidgets.QAction('&Next', self) nextAction.setShortcut('Ctrl+N') nextAction.setStatusTip('Next image') nextAction.triggered.connect(self.nextImage) prevAction = QtWidgets.QAction('&Previous', self) prevAction.setShortcut('Ctrl+P') prevAction.setStatusTip('Previous image') prevAction.triggered.connect(self.prevImage) refAction = QtWidgets.QAction('Make &Reference', self) refAction.setShortcut('Ctrl+R') refAction.setStatusTip('Set image as reference') refAction.triggered.connect(self.makeRef) openAction = QtWidgets.QAction('&Open', self) openAction.setShortcut('Ctrl+O') openAction.setStatusTip('Open comparison image') openAction.triggered.connect(self.openImage) copyAction = QtWidgets.QAction('&Copy', self) copyAction.setShortcut('Ctrl+C') copyAction.setStatusTip('Copy image path') copyAction.triggered.connect(self.copyImage) self.statusBar() menubar = self.menuBar() fileMenu = menubar.addMenu('&File') fileMenu.addAction(nextAction) fileMenu.addAction(prevAction) fileMenu.addAction(refAction) fileMenu.addAction(openAction) fileMenu.addAction(copyAction) fileMenu.addAction(exitAction) # load initial images self.loadImage(self.imagesList[self.imagePos]) self.show()
def __init__(self,parent=None): super(ApplicationWindow, self).__init__() self.setupUi(self) self.treeWidget.setHeaderHidden(True) self.treeWidget.setRootIsDecorated(False) self.entries = [] self.entries_fam = [] self.lo_link = [] self.hashed_title = set() # Load preset filters here self.filters = [] self.do_sentiment = True self.sentient = None self.sentient_score = [] if self.do_sentiment: self.sentient = Sentient() self.preset_highlight = preset_highlight self.highlights = [] self.highlight_bool = [] self.COLOUR = (128, 169, 237) self.highlight_colour = [] self.rss_feed=[] self.news_influx = News() self.treeWidget.itemDoubleClicked.connect(self.handler) self.font_top = None self.font_child = None self.font_disconnect = None self.font_sz = 22 self.load_font() self.liveUpdateBox.setChecked(False) self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame) self.main_frame_width = self.frameGeometry().width() screen = QtWidgets.QDesktopWidget().screenGeometry() gui = self.frameGeometry() self.treeWidget.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.treeWidget.setFrameShape(QtWidgets.QFrame.NoFrame) # 1 update every 10 seconds on live mode self.period = 10 # Load Settings and Companies # self.remove, self.highlight_preset = ReadCompanies.get_settings() # # self.all_ticker, self.first_for_search, self.idx_hash, self.all_non_exchange, self.two_for_search = ReadCompanies.ticker_map_et_all() self.tokenizer = RegexpTokenizer(r'\w+') self.include_twitter = True self.include_reddit = True self.update_entries() self.repopulate() self.live_thread_running = False self.live_thread = threading.Thread(target=self.wait_update) self.updateButton.clicked.connect(self.update_click) self.liveUpdateBox.stateChanged.connect(self.update_live) self.presetHighlightBox.setChecked(True) self.presetHighlightBox.stateChanged.connect(self.preset_update) self.twitterBox.setChecked(self.include_twitter) self.twitterBox.stateChanged.connect(self.twitter_update) self.redditBox.setChecked(self.include_reddit) self.redditBox.stateChanged.connect(self.reddit_update) self.showButton.clicked.connect(self.hide_frame) self.hideButton.clicked.connect(self.show_frame) self.searchBar.textChanged.connect(self.no_enter_empty_search) self.highlightBar.textChanged.connect(self.no_enter_empty_highlight) #self.keyPressed.connect(self.on_key_pressed) self.screen_sizing(screen)
def centre(self): screen = QtWidgets.QDesktopWidget().screenGeometry() mysize = self.geometry() hpos = (screen.width() - mysize.width()) / 2 vpos = (screen.height() - mysize.height()) / 2 self.move(hpos, vpos)
def __init__(self): super().__init__() resolution = QtWidgets.QDesktopWidget().screenGeometry() width = resolution.width() height = resolution.height() self.ui=Ui_MainWindow() self.ui.setupUi(self) self.ui.switch.toggled.connect(self.change_theme) self.ui.comboBox_help.currentIndexChanged.connect(self.selection_change) self.ui.myStackedWidget.currentChanged.connect(self.current_changed) self.Under_Development='UNDER DEVELOPMENT' self.Modules={ 'Connection' : { 'Shear Connection' : [ ('Fin Plate','ResourceFiles/images/finplate.png','Fin_Plate'), ('Cleat Angle','ResourceFiles/images/cleatAngle.png','Cleat_Angle'), ('End Plate','ResourceFiles/images/endplate.png','End_Plate'), ('Seated Angle','ResourceFiles/images/seatedAngle1.png','Seated_Angle'), self.show_shear_connection, ], 'Moment Connection' :{ 'Beam-to-Beam Splice' :[ ('Cover Plate Bolted','ResourceFiles/images/bbcoverplatebolted.png','B2B_Cover_Plate_Bolted'), ('Cover Plate Welded','ResourceFiles/images/bbcoverplatewelded.png','B2B_Cover_Plate_Welded'), ('End Plate', 'ResourceFiles/images/bb_splice.png', 'B2B_End_Plate_Splice'), self.show_moment_connection, ], 'Beam-to-Column': [ ('End Plate', 'ResourceFiles/images/BC-EBW_GUI.png','BC_End_Plate'), self.show_moment_connection_bc ], 'Column-to-Column Splice' :[ ('Cover Plate Bolted','ResourceFiles/images/cccoverplatebolted.png','C2C_Cover_Plate_Bolted'), ('Cover Plate Welded','ResourceFiles/images/cccoverplatewelded.png','C2C_Cover_Plate_Welded'), ('End Plate','ResourceFiles/images/ccep_flush.png','C2C_End_Plate_Connection'), self.show_moment_connection_cc, ], 'PEB' : self.Under_Development, }, 'Base Plate':[ ('Base Plate Connection', 'ResourceFiles/images/base_plate.png', 'Base_Plate'), self.show_base_plate, ], 'Truss Connection' : self.Under_Development, }, 'Tension Member' : [ ('Bolted to End Gusset','ResourceFiles/images/bolted_ten.png','Tension_Bolted'), ('Welded to End Gusset','ResourceFiles/images/welded_ten.png','Tension_Welded'), self.show_tension_module, ], 'Compression Member' : self.Under_Development, 'Flexural Member' : self.Under_Development, 'Beam-Column' : self.Under_Development, 'Plate Girder' : self.Under_Development, 'Truss' : self.Under_Development, '2D Frame' : self.Under_Development, '3D Frame' : self.Under_Development, 'Group Design' : self.Under_Development, } ####################################### UI Formation ################################ for ModuleName in self.Modules: #Level 1 dictionary handling Button= LeftPanelButton(ModuleName) self.ButtonConnection(Button,list(self.Modules.keys()),ModuleName) self.ui.verticalLayout.addWidget(Button) if(type(self.Modules[ModuleName])==dict): #level 2 dictionary handling Page= ModulePage() self.ui.myStackedWidget.addWidget(Page) Current_Module=self.Modules[ModuleName] Tab_Widget=New_Tab_Widget() Page.layout.addWidget(Tab_Widget) for Submodule in Current_Module: if(type(Current_Module[Submodule])==dict): #Level 3 dictionary handling New_Tab=ModulePage() Tab_Widget.addTab(New_Tab,Submodule) Sub_Page= ModulePage() New_Tab.layout.addWidget(Sub_Page) Current_SubModule=Current_Module[Submodule] Sub_Tab_Widget=New_Tab_Widget() Sub_Page.layout.addWidget(Sub_Tab_Widget) for Sub_Sub_Module in Current_SubModule: if(type(Current_SubModule[Sub_Sub_Module]) in [list,tuple]): # Final List/tuple Handling New_Sub_Tab=Submodule_Page() Sub_Tab_Widget.addTab(New_Sub_Tab,Sub_Sub_Module) group=QButtonGroup(QWidget(Page)) row,col=0,0 n=math.floor((len(Current_SubModule[Sub_Sub_Module])-2)/2) for Selection in Current_SubModule[Sub_Sub_Module][:-1]: widget=Submodule_Widget(Selection,New_Sub_Tab) group.addButton(widget.rdbtn) New_Sub_Tab.ui.gridLayout.addWidget(widget,row,col) if(col==n and len(Current_SubModule[Sub_Sub_Module])!=3): row+=1 col=0 else: col+=1 New_Sub_Tab.ui.StartButton.clicked.connect(Current_SubModule[Sub_Sub_Module][-1]) elif(Current_SubModule[Sub_Sub_Module]==self.Under_Development): # Final Under Development Handling Sub_Tab_Widget.addTab(self.UnderDevelopmentModule(),Sub_Sub_Module) else: raise ValueError elif(type(Current_Module[Submodule]) in [list,tuple]): #Level 3 list/tuple handling New_Tab=Submodule_Page() Tab_Widget.addTab(New_Tab,Submodule) group=QButtonGroup(QWidget(Page)) row,col=0,0 n=math.floor((len(Current_Module[Submodule])-2)/2) for Selection in Current_Module[Submodule][:-1]: widget=Submodule_Widget(Selection,New_Tab) group.addButton(widget.rdbtn) New_Tab.ui.gridLayout.addWidget(widget,row,col) if(col==n and len(Current_Module[Submodule])!=3): row+=1 col=0 else: col+=1 New_Tab.ui.StartButton.clicked.connect(Current_Module[Submodule][-1]) elif(Current_Module[Submodule]==self.Under_Development): #Level 3 Under Development handling Tab_Widget.addTab(self.UnderDevelopmentModule(),Submodule) else: raise ValueError elif(type(self.Modules[ModuleName]) in [list,tuple]): # Level 2 list/tuple handling Page= Submodule_Page() self.ui.myStackedWidget.addWidget(Page) group=QButtonGroup(QWidget(Page)) row,col=0,0 n=math.floor((len(self.Modules[ModuleName])-2)/2) for Selection in self.Modules[ModuleName][:-1]: widget=Submodule_Widget(Selection,Page) group.addButton(widget.rdbtn) Page.ui.gridLayout.addWidget(widget,row,col) if(col==n and len(self.Modules[ModuleName])!=3): row+=1 col=0 else: col+=1 Page.ui.StartButton.clicked.connect(self.Modules[ModuleName][-1]) elif(self.Modules[ModuleName]==self.Under_Development): #Level 2 Under Development handling self.ui.myStackedWidget.addWidget(self.UnderDevelopmentModule()) else: raise ValueError self.resize(width * (0.85), height * (0.75)) self.center() self.show()