def setupUi(self, MainWindow): """ """ MainWindow.resize(100,200) # Create the "Central Widget" and add a "Layout" self.centralwidget = QWidget(MainWindow) MainWindow.setCentralWidget(self.centralwidget) self.verticalLayout= QVBoxLayout(self.centralwidget) # Add a Temperature sensor and Label Widgets self.t1 = QFellesThermocouple(self.centralwidget) self.label = QLabel(self.centralwidget) self.label.setText("[C]") # Add Widgets to Layout self.verticalLayout.addWidget(self.t1) self.verticalLayout.addWidget(self.label) # Add connections self.t1.measurement_updated.connect(self.label.setText) # Create the Menu bar self.menubar = QMenuBar(MainWindow) MainWindow.setMenuBar(self.menubar) # Create the Status Bar self.statusbar = QStatusBar(MainWindow) MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow)
def __setupMenu_(self): """Used to create the default menu""" # Create the menu bar self.__menu_ = QMenuBar(self) self.setMenuBar(self.__menu_) # File self.menuFile = QMenu(self.__menu_) self.menuFile.setTitle(_("&File")) self.actionQuit = QAction(self) self.actionQuit.setText(_("&Quit")) self.actionQuit.setShortcut(_("Ctrl+Q")) self.menuFile.addAction(self.actionQuit) # Settings self.menuSettings = QMenu(self.__menu_) self.menuSettings.setTitle(_("&Settings")) self.actionConfigure = QAction(self) self.actionConfigure.setText(_("&Configure xc2424scan")) self.menuSettings.addAction(self.actionConfigure) # Add the menus to the menu self.__menu_.addAction(self.menuFile.menuAction()) self.__menu_.addAction(self.menuSettings.menuAction()) self.connect(self.actionQuit, SIGNAL("triggered(bool)"), self.close) self.connect(self.actionConfigure, SIGNAL("triggered(bool)"), self.__change_config_)
def menubar(): """Return a newly created parent-less menu bar that's used when there is no main window.""" m = QMenuBar() m.addMenu(menu_file(m)) m.addMenu(menu_edit(m)) m.addMenu(menu_window(m)) m.addMenu(menu_sessions(m)) m.addMenu(menu_help(m)) return m
def menuUi(self): extractQuit = QAction(self) extractQuit.setStatusTip('File') mainMenu = QMenuBar() fileMenu = mainMenu.addMenu('&File') exitMenu = QAction('&Exit', self) exitMenu.setShortcut('CTRL+Q') exitMenu.setStatusTip('Close Dialog') #exitMenu.triggered.connect(self.lunchUnitForm) fileMenu.addAction(exitMenu) printMenu = mainMenu.addMenu('&Print') printPrevMenu = QAction('&Print Preview', self) printPrevMenu.setShortcut('CTRL+P') printPrevMenu.setStatusTip('Print Preview') printPrevMenu.triggered.connect(self.lunchPrintForm) printMenu.addAction(printPrevMenu) printPDF = QAction('&Print PDF', self) printPDF.setShortcut('CTRL+D') printPDF.setStatusTip('PDF') printPDF.triggered.connect(self.lunchPrintPdf) printMenu.addAction(printPDF) printEXCEL = QAction('&Print EXCEL', self) printEXCEL.setShortcut('CTRL+E') printEXCEL.setStatusTip('EXCEL') printEXCEL.triggered.connect(self.lunchPrintExcel) printMenu.addAction(printEXCEL) printCSV = QAction('&Print CSV', self) printCSV.setShortcut('CTRL+C') printCSV.setStatusTip('PDF') printCSV.triggered.connect(self.lunchPrintCsv) printMenu.addAction(printCSV) selMenu = mainMenu.addMenu('Column Visibility') self.hold = {} for a in self.header: d = QAction(self.header[a], self, checkable = True) d.changed.connect(lambda:self.loadPage()) self.hold[a] = d if a in self.columns: d.setChecked(True) selMenu.addAction(d) return mainMenu
def _setupMenu(self): self.menubar = QMenuBar(self) self.menubar.setGeometry(QRect(0, 0, 42, 22)) self.menuFile = QMenu(self.menubar) self.menuFile.setTitle(tr("File")) self.menuHelp = QMenu(self.menubar) self.menuHelp.setTitle(tr("Help")) self.setMenuBar(self.menubar) self.menuFile.addAction(self.actionLoadPDF) self.menuFile.addAction(self.app.actionLoadProject) self.menuFile.addAction(self.app.actionSaveProject) self.menuFile.addAction(self.app.actionQuit) self.menuHelp.addAction(self.app.actionShowHelp) self.menuHelp.addAction(self.app.actionCheckForUpdate) self.menuHelp.addAction(self.app.actionOpenDebugLog) self.menuHelp.addAction(self.app.actionAbout) self.menubar.addAction(self.menuFile.menuAction()) self.menubar.addAction(self.menuHelp.menuAction())
def _setupMenu(self): self.menubar = QMenuBar(self) self.menubar.setGeometry(QRect(0, 0, 42, 22)) self.menuFile = QMenu(self.menubar) self.menuFile.setTitle(tr("File")) self.menuView = QMenu(self.menubar) self.menuView.setTitle(tr("View")) self.menuHelp = QMenu(self.menubar) self.menuHelp.setTitle(tr("Help")) self.menuLoadRecent = QMenu(self.menuFile) self.menuLoadRecent.setTitle(tr("Load Recent Results")) self.setMenuBar(self.menubar) self.menuFile.addAction(self.actionLoadResults) self.menuFile.addAction(self.menuLoadRecent.menuAction()) self.menuFile.addSeparator() self.menuFile.addAction(self.app.actionQuit) self.menuView.addAction(self.app.actionPreferences) self.menuView.addAction(self.actionShowResultsWindow) self.menuView.addAction(self.app.actionIgnoreList) self.menuHelp.addAction(self.app.actionShowHelp) self.menuHelp.addAction(self.app.actionRegister) self.menuHelp.addAction(self.app.actionCheckForUpdate) self.menuHelp.addAction(self.app.actionOpenDebugLog) self.menuHelp.addAction(self.app.actionAbout) self.menubar.addAction(self.menuFile.menuAction()) self.menubar.addAction(self.menuView.menuAction()) self.menubar.addAction(self.menuHelp.menuAction()) # Recent folders menu self.menuRecentFolders = QMenu() self.menuRecentFolders.addAction(self.actionAddFolder) self.menuRecentFolders.addSeparator() # Recent results menu self.menuRecentResults = QMenu() self.menuRecentResults.addAction(self.actionLoadResults) self.menuRecentResults.addSeparator()
def setupUi(self, MainWindow): """ """ MainWindow.resize(100, 200) #Create central widget and add a Layout self.centralwidget = QWidget(MainWindow) MainWindow.setCentralWidget(self.centralwidget) self.verticalLayout = QVBoxLayout(self.centralwidget) # Add a Temperature sensor and Label Widgets self.t1 = QFellesController(self.centralwidget) # Add Widgets to Layout self.verticalLayout.addWidget(self.t1) # Create the Menu bar self.menubar = QMenuBar(MainWindow) MainWindow.setMenuBar(self.menubar) # Create the Status Bar self.statusbar = QStatusBar(MainWindow) MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow)
def __init__(self, iface, plugin_dir, with_ramp): """ Initial setup of toolbar (pre-login) """ self.iface = iface self.plugin_dir = plugin_dir self.with_ramp = with_ramp self.canvas = self.iface.mapCanvas() # Create toolbar self.toolbar = self.iface.addToolBar(u'Roadnet') self.toolbar.setObjectName(u'Roadnet') # Create menubar self.menubar = QMenuBar() self.define_button_icons_and_actions() self.populate_menubar() # Add menubar to toolbar self.toolbar.addWidget(self.menubar) self.toolbar.setIconSize(QSize(100, 100)) # Set initial state self.set_state('init')
def setup_menu_bar(self): self.menu_bar = QMenuBar(self) menu = QMenu("Peakmap Explorer", self.menu_bar) self.menu_bar.addMenu(menu) if not self.dual_mode: self.load_action = QAction("Load Peakmap", self) self.load_action.setShortcut(QKeySequence("Ctrl+L")) self.load_action2 = None menu.addAction(self.load_action) else: self.load_action = QAction("Load Yellow Peakmap", self) self.load_action2 = QAction("Load Blue Peakmap", self) menu.addAction(self.load_action) menu.addAction(self.load_action2) self.save_action = QAction("Save selected range as image", self) self.save_action.setShortcut(QKeySequence("Ctrl+S")) menu.addAction(self.save_action) menu = QMenu("Help", self.menu_bar) self.help_action = QAction("Help", self) self.help_action.setShortcut(QKeySequence("F1")) menu.addAction(self.help_action) self.menu_bar.addMenu(menu)
def setupMainWindow(self): self.resize(800, 600) screen = 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 = 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 = QVBoxLayout() searchLayout.addWidget(self.searchEdit) searchLayout.addWidget(self.searchView) self.searchTab.setLayout(searchLayout) indexLayout = 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(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, QTabWidget.North) self.dockIndex.raise_() # Put dockIndex on top of the tab stack menuBar = 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['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 = 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)
#make the program quit on Ctrl+C import signal signal.signal(signal.SIGINT, signal.SIG_DFL) from PyQt4.QtGui import QApplication import sys from applet import Applet qapp = QApplication(sys.argv) # Create some simple applets to load defaultApplet = Applet() trackingApplet = Applet("Tracking") # Normally applets would provide their own menu items, # but for this test we'll add them here (i.e. from the outside). defaultApplet._menuWidget = QMenuBar() defaultApplet._menuWidget.setNativeMenuBar( False) # Native menus are broken on Ubuntu at the moment defaultMenu = QMenu("Default Applet", defaultApplet._menuWidget) defaultMenu.addAction("Default Action 1") defaultMenu.addAction("Default Action 2") defaultApplet._menuWidget.addMenu(defaultMenu) trackingApplet._menuWidget = QMenuBar() trackingApplet._menuWidget.setNativeMenuBar( False) # Native menus are broken on Ubuntu at the moment trackingMenu = QMenu("Tracking Applet", trackingApplet._menuWidget) trackingMenu.addAction("Tracking Options...") trackingMenu.addAction("Track...") trackingApplet._menuWidget.addMenu(trackingMenu)
def menuUi(self): extractQuit = QAction(self) extractQuit.setStatusTip('File') mainMenu = QMenuBar() fileMenu = mainMenu.addMenu('&File') exitMenu = QAction('&Exit', self) exitMenu.setShortcut('CTRL+Q') exitMenu.setStatusTip('Close Dialog') exitMenu.triggered.connect(self.lunchUnitForm) fileMenu.addAction(exitMenu) #settings menu ViewMenu = mainMenu.addMenu('&Veiws') ## student menu static items bioMenu = QAction('Biodata', self) bioMenu.setStatusTip('Bio and Contact data') bioMenu.triggered.connect( lambda state, x=1, y='k': self.lunchReport(x, y)) ViewMenu.addAction(bioMenu) academicMenu = ViewMenu.addMenu('Academic') dumpClass1 = {} for k in self.myterms: act = str(list(self.myterms[k])[0]) getResult = self.pullResults(k) studs = academicMenu.addMenu(act) for w in getResult: getRes = w['name'].split(',') getDat = w['description'].split(':::') if list(self.myterms[k])[1] in getRes: stud = QAction(getDat[0], studs) dumpClass1[k] = stud stud.triggered.connect(lambda state, x=2, term=k, rep=w[ 'id']: self.lunchReport(x, term, rep)) studs.addAction(stud) affectiveMenu = ViewMenu.addMenu('Affective') dumpClass2 = {} for k in self.myterms: act = str(self.myterms[k]) stud = QAction(act, self) dumpClass2[k] = stud stud.triggered.connect( lambda state, x=3, y=k: self.lunchReport(x, y)) affectiveMenu.addAction(stud) psychomotorMenu = ViewMenu.addMenu('Psychomotor') dumpClass3 = {} for k in self.myterms: act = str(self.myterms[k]) stud = QAction(act, self) dumpClass3[k] = stud stud.triggered.connect( lambda state, x=4, y=k: self.lunchReport(x, y)) psychomotorMenu.addAction(stud) feeMenu = ViewMenu.addMenu('Fees') dumpClass4 = {} for k in self.myterms: act = str(self.myterms[k]) stud = QAction(act, self) dumpClass4[k] = stud stud.triggered.connect( lambda state, x=5, y=k: self.lunchReport(x, y)) feeMenu.addAction(stud) printMenu = mainMenu.addMenu('&Print') exitMenu1 = QAction('&Exit', self) exitMenu1.setShortcut('CTRL+Q') exitMenu1.setStatusTip('Close Dialog') exitMenu1.triggered.connect(lambda state, x=1: self.lunchPrintForm(x)) printMenu.addAction(exitMenu1) #printMenu.triggered.connect(lambda state, x = 1:self.lunchPrintForm(x)) return mainMenu
def setupUi(self): self.setWindowTitle(self.tr("DB Manager")) self.setWindowIcon(QIcon(":/db_manager/icon")) self.resize(QSize(700, 500).expandedTo(self.minimumSizeHint())) # create central tab widget and add the first 3 tabs: info, table and preview self.tabs = QTabWidget() self.info = InfoViewer(self) self.tabs.addTab(self.info, self.tr("Info")) self.table = TableViewer(self) self.tabs.addTab(self.table, self.tr("Table")) self.preview = LayerPreview(self) self.tabs.addTab(self.preview, self.tr("Preview")) self.setCentralWidget(self.tabs) # display close button for all tabs but the first 3 ones, i.e. # HACK: just hide the close button where not needed (GS) self.tabs.setTabsClosable(True) self.tabs.tabCloseRequested.connect(self.close_tab) tabbar = self.tabs.tabBar() for i in range(3): btn = tabbar.tabButton(i, QTabBar.RightSide) if tabbar.tabButton( i, QTabBar.RightSide) else tabbar.tabButton( i, QTabBar.LeftSide) btn.resize(0, 0) btn.hide() # Creates layout for message bar self.layout = QGridLayout(self.info) self.layout.setContentsMargins(0, 0, 0, 0) spacerItem = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) self.layout.addItem(spacerItem, 1, 0, 1, 1) # init messageBar instance self.infoBar = QgsMessageBar(self.info) sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) self.infoBar.setSizePolicy(sizePolicy) self.layout.addWidget(self.infoBar, 0, 0, 1, 1) # create database tree self.dock = QDockWidget("Tree", self) self.dock.setObjectName("DB_Manager_DBView") self.dock.setFeatures(QDockWidget.DockWidgetMovable) self.tree = DBTree(self) self.dock.setWidget(self.tree) self.addDockWidget(Qt.LeftDockWidgetArea, self.dock) # create status bar self.statusBar = QStatusBar(self) self.setStatusBar(self.statusBar) # create menus self.menuBar = QMenuBar(self) self.menuDb = QMenu(self.tr("&Database"), self) self.menuBar.addMenu(self.menuDb) self.menuSchema = QMenu(self.tr("&Schema"), self) actionMenuSchema = self.menuBar.addMenu(self.menuSchema) self.menuTable = QMenu(self.tr("&Table"), self) actionMenuTable = self.menuBar.addMenu(self.menuTable) self.menuHelp = None # QMenu(self.tr("&Help"), self) # actionMenuHelp = self.menuBar.addMenu(self.menuHelp) self.setMenuBar(self.menuBar) # create toolbar self.toolBar = QToolBar("Default", self) self.toolBar.setObjectName("DB_Manager_ToolBar") self.addToolBar(self.toolBar) # create menus' actions # menu DATABASE sep = self.menuDb.addSeparator() sep.setObjectName("DB_Manager_DbMenu_placeholder") sep.setVisible(False) self.actionRefresh = self.menuDb.addAction( QIcon(":/db_manager/actions/refresh"), self.tr("&Refresh"), self.refreshActionSlot, QKeySequence("F5")) self.actionSqlWindow = self.menuDb.addAction( QIcon(":/db_manager/actions/sql_window"), self.tr("&SQL window"), self.runSqlWindow, QKeySequence("F2")) self.menuDb.addSeparator() self.actionClose = self.menuDb.addAction(QIcon(), self.tr("&Exit"), self.close, QKeySequence("CTRL+Q")) # menu SCHEMA sep = self.menuSchema.addSeparator() sep.setObjectName("DB_Manager_SchemaMenu_placeholder") sep.setVisible(False) actionMenuSchema.setVisible(False) # menu TABLE sep = self.menuTable.addSeparator() sep.setObjectName("DB_Manager_TableMenu_placeholder") sep.setVisible(False) self.actionImport = self.menuTable.addAction( QIcon(":/db_manager/actions/import"), self.tr("&Import layer/file"), self.importActionSlot) self.actionExport = self.menuTable.addAction( QIcon(":/db_manager/actions/export"), self.tr("&Export to file"), self.exportActionSlot) self.menuTable.addSeparator() #self.actionShowSystemTables = self.menuTable.addAction(self.tr("Show system tables/views"), self.showSystemTables) #self.actionShowSystemTables.setCheckable(True) #self.actionShowSystemTables.setChecked(True) actionMenuTable.setVisible(False) # add actions to the toolbar self.toolBar.addAction(self.actionRefresh) self.toolBar.addAction(self.actionSqlWindow) self.toolBar.addAction(self.actionImport) self.toolBar.addAction(self.actionExport)
class MenuQt(object): """主菜单""" add_record = QFrame(CENTRAL_WIDGET) # 增加交易记录的界面 grid_layout_widget = QWidget(add_record) # title的container grid_layout = QGridLayout(grid_layout_widget) title = QLabel(grid_layout_widget) statusbar = QStatusBar(WINDOW) # 股票代码的title以及输入框 grid_layout_widget_2 = QWidget(add_record) grid_layout_2 = QGridLayout(grid_layout_widget_2) share_code_title = QLabel(grid_layout_widget_2) grid_layout_widget_14 = QWidget(add_record) grid_layout_14 = QGridLayout(grid_layout_widget_14) share_code_input = QLineEdit(grid_layout_widget_14) # 股票名称的title和显示框 grid_layout_widget_12 = QWidget(add_record) grid_layout_12 = QGridLayout(grid_layout_widget_12) share_name_title = QLabel(grid_layout_widget_12) grid_layout_widget_21 = QWidget(add_record) grid_layout_21 = QGridLayout(grid_layout_widget_21) share_name_show = QLineEdit(grid_layout_widget_21) # 买入日期的title和输入框 grid_layout_widget_3 = QWidget(add_record) grid_layout_3 = QGridLayout(grid_layout_widget_3) buy_date_title = QLabel(grid_layout_widget_3) grid_layout_widget_15 = QWidget(add_record) grid_layout_15 = QGridLayout(grid_layout_widget_15) buy_date_input = QDateEdit(grid_layout_widget_15) # 卖出日期的title和输入框 grid_layout_widget_10 = QWidget(add_record) grid_layout_10 = QGridLayout(grid_layout_widget_10) sale_date_title = QLabel(grid_layout_widget_10) grid_layout_widget_20 = QWidget(add_record) grid_layout_20 = QGridLayout(grid_layout_widget_20) sale_date_input = QDateEdit(grid_layout_widget_20) # 买入数量的title和输入框 grid_layout_widget_5 = QWidget(add_record) grid_layout_5 = QGridLayout(grid_layout_widget_5) buy_num_title = QLabel(grid_layout_widget_5) grid_layout_widget_16 = QWidget(add_record) grid_layout_16 = QGridLayout(grid_layout_widget_16) buy_num_input = QLineEdit(grid_layout_widget_16) # 卖出数量的title和输入框 grid_layout_widget_25 = QWidget(add_record) grid_layout_25 = QGridLayout(grid_layout_widget_25) sale_num_input = QLineEdit(grid_layout_widget_25) grid_layout_widget_13 = QWidget(add_record) grid_layout_13 = QGridLayout(grid_layout_widget_13) sale_num_title = QLabel(grid_layout_widget_13) # 买入价格的title和输入框 grid_layout_widget_4 = QWidget(add_record) grid_layout_4 = QGridLayout(grid_layout_widget_4) buy_price_title = QLabel(grid_layout_widget_4) grid_layout_widget_17 = QWidget(add_record) grid_layout_17 = QGridLayout(grid_layout_widget_17) buy_price_input = QLineEdit(grid_layout_widget_17) # 卖出价格和输入框 grid_layout_widget_11 = QWidget(add_record) grid_layout_11 = QGridLayout(grid_layout_widget_11) sale_price_title = QLabel(grid_layout_widget_11) grid_layout_widget_22 = QWidget(add_record) grid_layout_22 = QGridLayout(grid_layout_widget_22) sale_price_input = QLineEdit(grid_layout_widget_22) # 持仓价格和显示框 grid_layout_widget_6 = QWidget(add_record) grid_layout_6 = QGridLayout(grid_layout_widget_6) have_avg_price = QLabel(grid_layout_widget_6) grid_layout_widget_19 = QWidget(add_record) grid_layout_19 = QGridLayout(grid_layout_widget_19) buv_avg_price_show = QLineEdit(grid_layout_widget_19) # 持仓数量和显示框 grid_layout_widget_7 = QWidget(add_record) grid_layout_7 = QGridLayout(grid_layout_widget_7) have_num_title = QLabel(grid_layout_widget_7) grid_layout_widget_18 = QWidget(add_record) grid_layout_18 = QGridLayout(grid_layout_widget_18) have_num_show = QLineEdit(grid_layout_widget_18) # 当前盈利和显示框 grid_layout_widget_8 = QWidget(add_record) grid_layout_8 = QGridLayout(grid_layout_widget_8) win_title = QLabel(grid_layout_widget_8) grid_layout_widget_24 = QWidget(add_record) grid_layout_24 = QGridLayout(grid_layout_widget_24) win_show = QLineEdit(grid_layout_widget_24) # 可卖数量和显示框 grid_layout_widget_9 = QWidget(add_record) grid_layout_9 = QGridLayout(grid_layout_widget_9) can_sale_num_title = QLabel(grid_layout_widget_9) grid_layout_widget_23 = QWidget(add_record) grid_layout_23 = QGridLayout(grid_layout_widget_23) can_sale_num_show = QLineEdit(grid_layout_widget_23) # 查询按钮 计算按钮 保存按钮 # grid_layout_widget_26 = QWidget(add_record) # grid_layout_26 = QGridLayout(grid_layout_widget_26) # query_button = QPushButton(grid_layout_widget_26) # grid_layout_widget_27 = QWidget(add_record) # grid_layout_27 = QGridLayout(grid_layout_widget_27) # compute_button = QPushButton(grid_layout_widget_27) grid_layout_widget_28 = QWidget(add_record) grid_layout_28 = QGridLayout(grid_layout_widget_28) save_button = QPushButton(grid_layout_widget_28) grid_layout_widget_29 = QWidget(add_record) grid_layout_29 = QGridLayout(grid_layout_widget_29) text_edit = QTextEdit(grid_layout_widget_29) menubar = QMenuBar(WINDOW) edit = QMenu(menubar) tool = QMenu(menubar) program = QMenu(menubar) help = QMenu(menubar) add = QAction(WINDOW) query = QAction(WINDOW) delete_record = QAction(WINDOW) add_share = QAction(WINDOW) import_share = QAction(WINDOW) login = QAction(WINDOW) logout = QAction(WINDOW) exit = QAction(WINDOW) about = QAction(WINDOW) slot_func = None @classmethod def init_window(cls): cls.slot_func = SlotFunc(cls) cls.init_widget() cls.init_button() cls.init_menu() cls.set_style_sheet() cls.init_text() cls.add_slot_func() QMetaObject.connectSlotsByName(WINDOW) @classmethod def init_menu(cls): WINDOW.setCentralWidget(CENTRAL_WIDGET) cls.menubar.setGeometry(QRect(0, 0, 960, 23)) cls.menubar.setObjectName(_fromUtf8("menubar")) cls.edit.setObjectName(_fromUtf8("edit")) cls.tool.setObjectName(_fromUtf8("tool")) cls.program.setObjectName(_fromUtf8("program")) cls.help.setObjectName(_fromUtf8("help")) WINDOW.setMenuBar(cls.menubar) cls.statusbar.setObjectName(_fromUtf8("statusbar")) WINDOW.setStatusBar(cls.statusbar) cls.add.setObjectName(_fromUtf8("add")) cls.query.setObjectName(_fromUtf8("query")) cls.delete_record.setObjectName(_fromUtf8("delete_record")) cls.add_share.setObjectName(_fromUtf8("add_share")) cls.import_share.setObjectName(_fromUtf8("import_share")) cls.login.setObjectName(_fromUtf8("login")) cls.logout.setObjectName(_fromUtf8("logout")) cls.exit.setObjectName(_fromUtf8("exit")) cls.about.setObjectName(_fromUtf8("about")) cls.edit.addAction(cls.add) cls.edit.addAction(cls.query) cls.edit.addAction(cls.delete_record) cls.tool.addAction(cls.add_share) cls.tool.addAction(cls.import_share) cls.tool.addSeparator() cls.tool.addAction(cls.login) cls.tool.addAction(cls.logout) cls.program.addAction(cls.exit) cls.help.addAction(cls.about) cls.menubar.addAction(cls.edit.menuAction()) cls.menubar.addAction(cls.tool.menuAction()) cls.menubar.addAction(cls.program.menuAction()) cls.menubar.addAction(cls.help.menuAction()) @classmethod def add_slot_func(cls): """增加槽函数""" cls.share_code_input.textChanged.connect( cls.slot_func.query_share_code) cls.save_button.clicked.connect(cls.slot_func.save_record) @classmethod def init_button(cls): """初始化按钮""" # cls.grid_layout_widget_26.setGeometry(QRect(160, 390, 121, 50)) # cls.grid_layout_widget_26.setObjectName(_fromUtf8("grid_layout_widget_26")) # cls.grid_layout_26.setObjectName(_fromUtf8("grid_layout_26")) # cls.query_button.setFont(WindowCons.get_font(bold=True)) # cls.query_button.setFlat(False) # cls.query_button.setObjectName(_fromUtf8("query_button")) # cls.grid_layout_26.addWidget(cls.query_button, 0, 0, 1, 1) # cls.grid_layout_widget_27.setGeometry(QRect(300, 390, 121, 50)) # cls.grid_layout_widget_27.setObjectName(_fromUtf8("grid_layout_widget_27")) # cls.grid_layout_27.setObjectName(_fromUtf8("grid_layout_27")) # cls.compute_button.setFont(WindowCons.get_font(bold=True)) # cls.compute_button.setObjectName(_fromUtf8("compute_button")) # cls.grid_layout_27.addWidget(cls.compute_button, 0, 0, 1, 1) cls.grid_layout_widget_28.setGeometry(QRect(440, 390, 121, 50)) cls.grid_layout_widget_28.setObjectName( _fromUtf8("grid_layout_widget_28")) cls.grid_layout_28.setObjectName(_fromUtf8("grid_layout_28")) cls.save_button.setFont(WindowCons.get_font(bold=True)) cls.save_button.setObjectName(_fromUtf8("save_button")) cls.grid_layout_28.addWidget(cls.save_button, 0, 0, 1, 1) cls.grid_layout_widget_29.setGeometry(QRect(570, 390, 160, 73)) cls.grid_layout_widget_29.setObjectName( _fromUtf8("grid_layout_widget_29")) cls.grid_layout_29.setObjectName(_fromUtf8("grid_layout_29")) cls.text_edit.setEnabled(False) cls.text_edit.setReadOnly(True) cls.text_edit.setFrameShape(False) cls.text_edit.setObjectName(_fromUtf8("textEdit")) cls.grid_layout_29.addWidget(cls.text_edit, 0, 0, 1, 1) @classmethod def set_style_sheet(cls): """设置样式""" # cls.query_button.setStyleSheet(WindowCons.button_style()) cls.save_button.setStyleSheet(WindowCons.button_style()) # cls.compute_button.setStyleSheet(WindowCons.button_style()) cls.add_record.setStyleSheet(WindowCons.background_image()) cls.title.setStyleSheet(WindowCons.LIGHT_BLUE_STYLE) cls.sale_num_title.setStyleSheet(WindowCons.WHITE_STYLE) cls.share_name_title.setStyleSheet(WindowCons.WHITE_STYLE) cls.sale_price_title.setStyleSheet(WindowCons.WHITE_STYLE) cls.buy_date_title.setStyleSheet(WindowCons.WHITE_STYLE) cls.win_title.setStyleSheet(WindowCons.WHITE_STYLE) cls.buy_num_title.setStyleSheet(WindowCons.WHITE_STYLE) cls.can_sale_num_title.setStyleSheet(WindowCons.WHITE_STYLE) cls.have_num_title.setStyleSheet(WindowCons.WHITE_STYLE) cls.share_code_title.setStyleSheet(WindowCons.WHITE_STYLE) cls.buy_price_title.setStyleSheet(WindowCons.WHITE_STYLE) cls.have_avg_price.setStyleSheet(WindowCons.WHITE_STYLE) cls.sale_date_title.setStyleSheet(WindowCons.WHITE_STYLE) # cls.text_edit.setAttribute(Qt.WA_TranslucentBackground, True) # cls.text_edit.repaint() cls.text_edit.setStyleSheet(WindowCons.TRANSPARENT) palette1 = QPalette() palette1.setBrush( cls.add_record.backgroundRole(), QBrush(QPixmap(':backgroud.png').scaled(cls.add_record.size()))) cls.add_record.setPalette(palette1) cls.add_record.setStyleSheet(WindowCons.background_image()) @classmethod def init_widget(cls): CENTRAL_WIDGET.setObjectName(_fromUtf8("centralwidget")) cls.add_record.setGeometry(QRect(-1, -1, 961, 561)) cls.add_record.setObjectName(_fromUtf8("add_record")) cls.grid_layout_widget.setGeometry(QRect(50, 10, 314, 50)) cls.grid_layout_widget.setObjectName(_fromUtf8("gridLayoutWidget")) cls.grid_layout.setObjectName(_fromUtf8("gridLayout")) cls.title.setFont(WindowCons.get_font(size=16, weight=50)) cls.title.setTextFormat(Qt.PlainText) cls.title.setScaledContents(False) cls.title.setAlignment(Qt.AlignCenter) cls.title.setObjectName(_fromUtf8("title")) cls.grid_layout.addWidget(cls.title, 0, 0, 1, 1) cls._init_labels() @classmethod def init_text(cls): """初始化文字""" WINDOW.setWindowTitle(_translate("MainWindow", "驰骋A股", None)) cls.title.setText(_translate("MainWindow", "新增交易记录", None)) cls.share_code_title.setText(_translate("MainWindow", "股票代码", None)) cls.buy_date_title.setText(_translate("MainWindow", "买入日期", None)) cls.buy_price_title.setText(_translate("MainWindow", "买入价格", None)) cls.buy_num_title.setText(_translate("MainWindow", "买入数量", None)) cls.have_avg_price.setText(_translate("MainWindow", "持仓均价", None)) cls.have_num_title.setText(_translate("MainWindow", "持仓数量", None)) cls.win_title.setText(_translate("MainWindow", "当前盈利", None)) cls.can_sale_num_title.setText(_translate("MainWindow", "可卖数量", None)) cls.sale_date_title.setText(_translate("MainWindow", "卖出日期", None)) cls.sale_price_title.setText(_translate("MainWindow", "卖出价格", None)) cls.share_name_title.setText(_translate("MainWindow", "股票名称", None)) cls.sale_num_title.setText(_translate("MainWindow", "卖出数量", None)) # cls.query_button.setText(_translate("MainWindow", "查询", None)) # cls.compute_button.setText(_translate("MainWindow", "计算", None)) cls.save_button.setText(_translate("MainWindow", "保存", None)) cls.text_edit.setHtml( _translate( "MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n" "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n" "p, li { white-space: pre-wrap; }\n" "</style></head><body style=\" font-family:\'SimSun\'; font-size:9pt; font-weight:400; font-style:normal;\">\n" "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">数量单位:手(1手=100股)</p>\n" "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">货币单位:元</p></body></html>", None)) cls.edit.setTitle(_translate("MainWindow", "编辑", None)) cls.tool.setTitle(_translate("MainWindow", "工具", None)) cls.program.setTitle(_translate("MainWindow", "程序", None)) cls.help.setTitle(_translate("MainWindow", "帮助", None)) cls.add.setText(_translate("MainWindow", "新增交易记录", None)) cls.query.setText(_translate("MainWindow", "查询交易记录", None)) cls.delete_record.setText(_translate("MainWindow", "删除交易记录", None)) cls.add_share.setText(_translate("MainWindow", "新增股票信息", None)) cls.import_share.setText(_translate("MainWindow", "导入股票信息", None)) cls.login.setText(_translate("MainWindow", "登录", None)) cls.logout.setText(_translate("MainWindow", "注销", None)) cls.exit.setText(_translate("MainWindow", "退出", None)) cls.about.setText(_translate("MainWindow", "关于", None)) cls.statusbar.showMessage( "本程序仅限内部人员使用,如作他用所承受的法律责任一概与作者无关(使用即代表你同意上述观点)") cls.statusbar.setStyleSheet(WindowCons.RED_STYLE) @classmethod def _init_labels(cls): """初始化页面的label""" cls.__init_share_code() # 初始化股票代码以及输入框 cls.__init_share_name() # 初始化股票名称以及显示框 cls.__init_buy_date() # 初始化买入日期以及输入框 cls.__init_sale_date() # 初始化卖出日期以及输入框 cls.__init_buy_num() # 初始化买入数量以及输入框 cls.__init_sale_num() # 初始化卖出数量以及输入框 cls.__init_buy_price() # 初始化买入价格以及输入框 cls.__init_sale_price() # 初始化卖出价格以及输入框 cls.__init_buy_avg_price() # 初始化平均价以及显示框 cls.__init_have_num() # 初始化持仓数量以及显示框 cls.__init_have_win() # 初始化当前股票盈利情况以及显示框 cls.__can_sale_num() # 初始化可卖数量以及显示框 @classmethod def __init_share_code(cls): cls.grid_layout_widget_2.setGeometry(QRect(160, 60, 101, 41)) cls.grid_layout_widget_2.setObjectName(_fromUtf8("gridLayoutWidget_2")) cls.grid_layout_2.setObjectName(_fromUtf8("gridLayout_2")) cls.share_code_title.setFont(WindowCons.get_font(bold=True)) cls.share_code_title.setTextFormat(Qt.PlainText) cls.share_code_title.setAlignment(Qt.AlignCenter) cls.share_code_title.setObjectName(_fromUtf8("share_code_title")) cls.grid_layout_2.addWidget(cls.share_code_title, 0, 0, 1, 1) cls.grid_layout_widget_14.setGeometry(QRect(280, 60, 141, 50)) cls.grid_layout_widget_14.setObjectName( _fromUtf8("gridLayoutWidget_14")) cls.grid_layout_14.setObjectName(_fromUtf8("gridLayout_14")) cls.share_code_input.setFont( WindowCons.get_font(weight=50, family=WindowCons.YAHEI_UI_FAMILY)) cls.share_code_input.setObjectName(_fromUtf8("share_code_input")) cls.share_code_input.setValidator(RegExpValidator()) cls.grid_layout_14.addWidget(cls.share_code_input, 0, 0, 1, 1) @classmethod def __init_share_name(cls): cls.grid_layout_widget_12.setGeometry(QRect(450, 60, 101, 41)) cls.grid_layout_widget_12.setObjectName( _fromUtf8("gridLayoutWidget_12")) cls.grid_layout_12.setObjectName(_fromUtf8("gridLayout_12")) cls.share_name_title.setFont(WindowCons.get_font(bold=True)) cls.share_name_title.setTextFormat(Qt.PlainText) cls.share_name_title.setAlignment(Qt.AlignCenter) cls.share_name_title.setObjectName(_fromUtf8("share_name_title")) cls.grid_layout_12.addWidget(cls.share_name_title, 0, 0, 1, 1) cls.grid_layout_widget_21.setGeometry(QRect(570, 60, 141, 50)) cls.grid_layout_widget_21.setObjectName( _fromUtf8("grid_layout_widget_21")) cls.grid_layout_21.setObjectName(_fromUtf8("grid_layout_21")) cls.share_name_show.setEnabled(True) cls.share_name_show.setFont( WindowCons.get_font(weight=50, family=WindowCons.YAHEI_LIGHT_FAMILY)) cls.share_name_show.setReadOnly(True) cls.share_name_show.setFrame(False) cls.share_name_show.setObjectName(_fromUtf8("share_name_show")) cls.grid_layout_21.addWidget(cls.share_name_show, 0, 0, 1, 1) @classmethod def __init_buy_date(cls): cls.grid_layout_widget_3.setGeometry(QRect(160, 110, 101, 41)) cls.grid_layout_widget_3.setObjectName(_fromUtf8("gridLayoutWidget_3")) cls.grid_layout_3.setObjectName(_fromUtf8("gridLayout_3")) cls.buy_date_title.setFont(WindowCons.get_font(bold=True)) cls.buy_date_title.setTextFormat(Qt.PlainText) cls.buy_date_title.setAlignment(Qt.AlignCenter) cls.buy_date_title.setObjectName(_fromUtf8("buy_date_title")) cls.grid_layout_3.addWidget(cls.buy_date_title, 0, 0, 1, 1) cls.grid_layout_widget_15.setGeometry(QRect(280, 110, 141, 41)) cls.grid_layout_widget_15.setObjectName( _fromUtf8("gridLayoutWidget_15")) cls.grid_layout_15.setObjectName(_fromUtf8("gridLayout_15")) cls.buy_date_input.setEnabled(True) size_policy = WindowCons.get_size_policy(cls.buy_date_input) cls.buy_date_input.setSizePolicy(size_policy) cls.buy_date_input.setFont( WindowCons.get_font(family=WindowCons.YAHEI_LIGHT_FAMILY, size=12)) cls.buy_date_input.setWrapping(False) cls.buy_date_input.setCalendarPopup(True) cls.buy_date_input.setFrame(False) cls.buy_date_input.setDate( QDate(datetime.datetime.date(datetime.datetime.now()))) cls.buy_date_input.setObjectName(_fromUtf8("buy_date_input")) cls.grid_layout_15.addWidget(cls.buy_date_input, 0, 0, 1, 1) @classmethod def __init_sale_date(cls): cls.grid_layout_widget_10.setGeometry(QRect(450, 110, 101, 41)) cls.grid_layout_widget_10.setObjectName( _fromUtf8("gridLayoutWidget_10")) cls.grid_layout_10.setObjectName(_fromUtf8("gridLayout_10")) cls.sale_date_title.setFont(WindowCons.get_font(bold=True)) cls.sale_date_title.setTextFormat(Qt.PlainText) cls.sale_date_title.setAlignment(Qt.AlignCenter) cls.sale_date_title.setObjectName(_fromUtf8("buy_date_title_2")) cls.grid_layout_10.addWidget(cls.sale_date_title, 0, 0, 1, 1) cls.grid_layout_widget_20.setGeometry(QRect(570, 110, 141, 41)) cls.grid_layout_widget_20.setObjectName( _fromUtf8("gridLayoutWidget_20")) cls.grid_layout_20.setObjectName(_fromUtf8("gridLayout_20")) cls.sale_date_input.setFont( WindowCons.get_font(size=12, family=WindowCons.YAHEI_LIGHT_FAMILY)) cls.sale_date_input.setWrapping(False) cls.sale_date_input.setFrame(False) cls.sale_date_input.setCalendarPopup(True) cls.sale_date_input.setDate( QDate(datetime.datetime.date(datetime.datetime.now()))) cls.sale_date_input.setObjectName(_fromUtf8("sale_date_input")) cls.grid_layout_20.addWidget(cls.sale_date_input, 0, 0, 1, 1) @classmethod def __init_buy_num(cls): cls.grid_layout_widget_5.setGeometry(QRect(160, 210, 101, 41)) cls.grid_layout_widget_5.setObjectName(_fromUtf8("gridLayoutWidget_5")) cls.grid_layout_5.setObjectName(_fromUtf8("gridLayout_5")) cls.buy_num_title.setFont(WindowCons.get_font(bold=True)) cls.buy_num_title.setTextFormat(Qt.PlainText) cls.buy_num_title.setAlignment(Qt.AlignCenter) cls.buy_num_title.setObjectName(_fromUtf8("buy_num_title")) cls.grid_layout_5.addWidget(cls.buy_num_title, 0, 0, 1, 1) cls.grid_layout_widget_16.setGeometry(QRect(280, 210, 141, 41)) cls.grid_layout_widget_16.setObjectName( _fromUtf8("gridLayoutWidget_16")) cls.grid_layout_16.setObjectName(_fromUtf8("gridLayout_16")) cls.buy_num_input.setValidator(IntValidator()) cls.buy_num_input.setText("100") cls.buy_num_input.setFont( WindowCons.get_font(family=WindowCons.JUI_LIGHT_FAMILY)) cls.buy_num_input.setFrame(False) cls.buy_num_input.setObjectName(_fromUtf8("buy_num_input")) cls.grid_layout_16.addWidget(cls.buy_num_input, 0, 0, 1, 1) @classmethod def __init_sale_num(cls): # 初始化卖出数量以及输入框 cls.grid_layout_widget_25.setGeometry(QRect(570, 210, 141, 41)) cls.grid_layout_widget_25.setObjectName( _fromUtf8("gridLayoutWidget_25")) cls.grid_layout_25.setObjectName(_fromUtf8("gridLayout_25")) cls.sale_num_input.setValidator(IntValidator()) cls.sale_num_input.setText("100") cls.sale_num_input.setFont( WindowCons.get_font(family=WindowCons.JUI_LIGHT_FAMILY)) cls.sale_num_input.setFrame(False) cls.sale_num_input.setObjectName(_fromUtf8("sale_num_input")) cls.grid_layout_25.addWidget(cls.sale_num_input, 0, 0, 1, 1) cls.grid_layout_widget_13.setGeometry(QRect(450, 210, 101, 41)) cls.grid_layout_widget_13.setObjectName( _fromUtf8("gridLayoutWidget_13")) cls.grid_layout_13.setObjectName(_fromUtf8("gridLayout_13")) cls.sale_num_title.setFont(WindowCons.get_font(bold=True)) cls.sale_num_title.setTextFormat(Qt.PlainText) cls.sale_num_title.setAlignment(Qt.AlignCenter) cls.sale_num_title.setObjectName(_fromUtf8("buy_num_title_2")) cls.grid_layout_13.addWidget(cls.sale_num_title, 0, 0, 1, 1) @classmethod def __init_buy_price(cls): # 初始化买入价格以及输入框 cls.grid_layout_widget_4.setGeometry(QRect(160, 160, 101, 41)) cls.grid_layout_widget_4.setObjectName(_fromUtf8("gridLayoutWidget_4")) cls.grid_layout_4.setObjectName(_fromUtf8("gridLayout_4")) cls.buy_price_title.setFont(WindowCons.get_font(bold=True)) cls.buy_price_title.setTextFormat(Qt.PlainText) cls.buy_price_title.setAlignment(Qt.AlignCenter) cls.buy_price_title.setObjectName(_fromUtf8("buy_price_title")) cls.grid_layout_4.addWidget(cls.buy_price_title, 0, 0, 1, 1) cls.grid_layout_widget_17.setGeometry(QRect(280, 160, 141, 41)) cls.grid_layout_widget_17.setObjectName( _fromUtf8("gridLayoutWidget_17")) cls.grid_layout_17.setObjectName(_fromUtf8("gridLayout_17")) cls.buy_price_input.setFont( WindowCons.get_font(family=WindowCons.YAHEI_LIGHT_FAMILY)) cls.buy_price_input.setFrame(False) cls.buy_price_input.setValidator(DoubleValidator()) cls.buy_price_input.setText("0.00") cls.buy_price_input.setObjectName(_fromUtf8("buy_price_input")) cls.grid_layout_17.addWidget(cls.buy_price_input, 0, 0, 1, 1) @classmethod def __init_sale_price(cls): # 初始化卖出价格以及输入框 cls.grid_layout_widget_11.setGeometry(QRect(450, 160, 101, 41)) cls.grid_layout_widget_11.setObjectName( _fromUtf8("gridLayoutWidget_11")) cls.grid_layout_11.setObjectName(_fromUtf8("gridLayout_11")) cls.sale_price_title.setFont(WindowCons.get_font(bold=True)) cls.sale_price_title.setTextFormat(Qt.PlainText) cls.sale_price_title.setAlignment(Qt.AlignCenter) cls.sale_price_title.setObjectName(_fromUtf8("cls.sale_price_title")) cls.grid_layout_11.addWidget(cls.sale_price_title, 0, 0, 1, 1) cls.grid_layout_widget_22.setGeometry(QRect(570, 160, 141, 41)) cls.grid_layout_widget_22.setObjectName( _fromUtf8("grid_layout_widget_22")) cls.grid_layout_22.setObjectName(_fromUtf8("grid_layout_22")) cls.sale_price_input.setFont( WindowCons.get_font(family=WindowCons.YAHEI_LIGHT_FAMILY)) cls.sale_price_input.setFrame(False) cls.sale_price_input.setText("0.00") cls.sale_price_input.setValidator(DoubleValidator()) cls.sale_price_input.setObjectName(_fromUtf8("sale_price_input")) cls.grid_layout_22.addWidget(cls.sale_price_input, 0, 0, 1, 1) @classmethod def __init_buy_avg_price(cls): # 初始化平均价以及显示框 cls.grid_layout_widget_6.setGeometry(QRect(160, 260, 101, 41)) cls.grid_layout_widget_6.setObjectName( _fromUtf8("grid_layout_widget_6")) cls.grid_layout_6.setObjectName(_fromUtf8("grid_layout_6")) cls.have_avg_price.setFont(WindowCons.get_font(bold=True)) cls.have_avg_price.setTextFormat(Qt.PlainText) cls.have_avg_price.setAlignment(Qt.AlignCenter) cls.have_avg_price.setObjectName(_fromUtf8("have_avg_price")) cls.grid_layout_6.addWidget(cls.have_avg_price, 0, 0, 1, 1) cls.grid_layout_widget_19.setGeometry(QRect(280, 260, 141, 41)) cls.grid_layout_widget_19.setObjectName( _fromUtf8("grid_layout_widget_19")) cls.grid_layout_19.setObjectName(_fromUtf8("grid_layout_19")) cls.buv_avg_price_show.setEnabled(True) cls.buv_avg_price_show.setFont( WindowCons.get_font(family=WindowCons.JUI_LIGHT_FAMILY)) cls.buv_avg_price_show.setReadOnly(True) cls.buv_avg_price_show.setFrame(False) cls.buv_avg_price_show.setObjectName(_fromUtf8("buv_avg_price_show")) cls.grid_layout_19.addWidget(cls.buv_avg_price_show, 0, 0, 1, 1) @classmethod def __init_have_num(cls): # 初始化持仓数量以及显示框 cls.grid_layout_widget_7.setGeometry(QRect(160, 310, 101, 41)) cls.grid_layout_widget_7.setObjectName( _fromUtf8("grid_layout_widget_7")) cls.grid_layout_7.setObjectName(_fromUtf8("grid_layout_7")) cls.have_num_title.setFont(WindowCons.get_font(bold=True)) cls.have_num_title.setTextFormat(Qt.PlainText) cls.have_num_title.setAlignment(Qt.AlignCenter) cls.have_num_title.setObjectName(_fromUtf8("have_num_title")) cls.grid_layout_7.addWidget(cls.have_num_title, 0, 0, 1, 1) cls.grid_layout_widget_18.setGeometry(QRect(280, 310, 141, 41)) cls.grid_layout_widget_18.setObjectName( _fromUtf8("grid_layout_widget_18")) cls.grid_layout_18.setObjectName(_fromUtf8("grid_layout_18")) cls.have_num_show.setFont( WindowCons.get_font(family=WindowCons.JUI_LIGHT_FAMILY)) cls.have_num_show.setReadOnly(True) cls.have_num_show.setFrame(False) cls.have_num_show.setObjectName(_fromUtf8("have_num_show")) cls.grid_layout_18.addWidget(cls.have_num_show, 0, 0, 1, 1) @classmethod def __init_have_win(cls): # 初始化当前股票盈利情况以及显示框 cls.grid_layout_widget_8.setGeometry(QRect(450, 260, 101, 41)) cls.grid_layout_widget_8.setObjectName( _fromUtf8("grid_layout_widget_8")) cls.grid_layout_8.setObjectName(_fromUtf8("grid_layout_8")) cls.win_title.setFont(WindowCons.get_font(bold=True)) cls.win_title.setTextFormat(Qt.PlainText) cls.win_title.setAlignment(Qt.AlignCenter) cls.win_title.setObjectName(_fromUtf8("win_title")) cls.grid_layout_8.addWidget(cls.win_title, 0, 0, 1, 1) cls.grid_layout_widget_24.setGeometry(QRect(570, 260, 141, 41)) cls.grid_layout_widget_24.setObjectName( _fromUtf8("grid_layout_widget_24")) cls.grid_layout_24.setObjectName(_fromUtf8("grid_layout_24")) cls.win_show.setEnabled(True) cls.win_show.setFont( WindowCons.get_font(family=WindowCons.JUI_LIGHT_FAMILY)) cls.win_show.setReadOnly(True) cls.win_show.setObjectName(_fromUtf8("win_show")) cls.win_show.setFrame(False) cls.grid_layout_24.addWidget(cls.win_show, 0, 0, 1, 1) @classmethod def __can_sale_num(cls): # 初始化可卖数量以及显示框 cls.grid_layout_widget_9.setGeometry(QRect(450, 310, 101, 41)) cls.grid_layout_widget_9.setObjectName( _fromUtf8("grid_layout_widget_9")) cls.grid_layout_9.setObjectName(_fromUtf8("gridLayout_9")) cls.can_sale_num_title.setFont(WindowCons.get_font(bold=True)) cls.can_sale_num_title.setTextFormat(Qt.PlainText) cls.can_sale_num_title.setAlignment(Qt.AlignCenter) cls.can_sale_num_title.setObjectName(_fromUtf8("can_sale_num_title")) cls.grid_layout_9.addWidget(cls.can_sale_num_title, 0, 0, 1, 1) cls.grid_layout_widget_23.setGeometry(QRect(570, 310, 141, 41)) cls.grid_layout_widget_23.setObjectName( _fromUtf8("gridLayoutWidget_23")) cls.grid_layout_23.setObjectName(_fromUtf8("grid_layout_23")) cls.can_sale_num_show.setEnabled(True) cls.can_sale_num_show.setFont( WindowCons.get_font(family=WindowCons.JUI_LIGHT_FAMILY)) cls.can_sale_num_show.setReadOnly(True) cls.can_sale_num_show.setFrame(False) cls.can_sale_num_show.setObjectName(_fromUtf8("can_sale_num_show")) cls.grid_layout_23.addWidget(cls.can_sale_num_show, 0, 0, 1, 1)
def __init__(self, appid, base, name): super(BrowserWindow, self).__init__() self.appid = appid self.name = name self.original_name = name self.base = base # Main widgets self.centralwidget = QWidget(self) self.gridLayout_2 = QGridLayout(self.centralwidget) self.setCentralWidget(self.centralwidget) self.urlLineEdit = QLineEdit(self) self.progressBar = QProgressBar(self) # Custom webview self.page = LocalWebPage() self.page.setFeaturePermission(self.page.mainFrame(), LocalWebPage.Notifications, LocalWebPage.PermissionGrantedByUser) self.webkitNotifications = WebkitNotifications(self) self.webViewMain = LocalWebView(self.centralwidget) self.webViewMain.setPage(self.page) self.gridLayout_2.addWidget(self.webViewMain, 0, 0, 1, 1) self.webViewMain.setContentsMargins(0, 0, 0, 0) self.gridLayout_2.setContentsMargins(0, 0, 0, 0) self.menubar = QMenuBar(self) self.menuFile = QMenu(self.menubar) self.menuView = QMenu(self.menubar) self.menuEdit = QMenu(self.menubar) self.menuHelp = QMenu(self.menubar) self.setMenuBar(self.menubar) self.statusbar = QStatusBar(self) self.setStatusBar(self.statusbar) self.toolBar = QToolBar(self) self.toolBar.setMovable(False) self.toolBar.setFloatable(False) self.addToolBar(Qt.TopToolBarArea, self.toolBar) # Create actions self.actionOpenLinkInNewWindow = self.page.action( self.page.OpenLinkInNewWindow) self.actionOpenLinkInNewWindow.setText( tr('BrowserWindow', 'Open in &Browser')) self.actionBack = self.page.action(self.page.Back) self.actionForward = self.page.action(self.page.Forward) self.actionStop = self.page.action(self.page.Stop) self.actionReload = self.page.action(self.page.Reload) self.actionHome = QAction(self) self.actionShowMenu = QAction(self) self.actionShowMenu.setCheckable(True) self.actionShowToolbar = QAction(self) self.actionShowToolbar.setCheckable(True) self.actionClose = QAction(self) self.actionModifyWebapp = QAction(self) self.actionEditPreferences = QAction(self) self.actionPrint = QAction(self) self.actionSaveLink = self.page.action(self.page.DownloadLinkToDisk) self.actionSaveLink.setEnabled(False) self.actionAbout = QAction(self) # Populate menu and toolbars self.menuFile.addAction(self.actionHome) self.menuFile.addAction(self.actionBack) self.menuFile.addAction(self.actionForward) self.menuFile.addAction(self.actionStop) self.menuFile.addAction(self.actionReload) self.menuFile.addSeparator() self.menuFile.addAction(self.actionPrint) self.menuFile.addSeparator() self.menuFile.addAction(self.actionClose) self.menuView.addAction(self.actionShowMenu) self.menuView.addAction(self.actionShowToolbar) self.menuView.addSeparator() self.menuEdit.addAction(self.actionModifyWebapp) #self.menuEdit.addAction(self.actionEditPreferences) self.menuHelp.addAction(self.actionAbout) self.menubar.addAction(self.menuFile.menuAction()) self.menubar.addAction(self.menuEdit.menuAction()) self.menubar.addAction(self.menuView.menuAction()) self.menubar.addAction(self.menuHelp.menuAction()) self.toolBar.addAction(self.actionHome) self.toolBar.addAction(self.actionBack) self.toolBar.addAction(self.actionForward) self.toolBar.addWidget(self.urlLineEdit) self.toolBar.addAction(self.actionStop) self.toolBar.addAction(self.actionReload) self.retranslateUi() QMetaObject.connectSlotsByName(self) self.setWindowTitle(self.name) # Set up cookie jar that persists sessions self.cookieJar = PersistableCookieJar(self, identifier=self.appid) self.cookieJar.load() self.webViewMain.page().networkAccessManager().setCookieJar( self.cookieJar) # Set up link delegation so that external links open in web browser. self.webViewMain.page().setLinkDelegationPolicy( QWebPage.DelegateExternalLinks) self.desktopEntry = desktop.getEntry(self.appid) # Set icons for actions; this can't be done in the designer, AFAICT self.actionHome.setIcon(QIcon.fromTheme('go-home')) self.actionAbout.setIcon(QIcon.fromTheme('help-about')) # Set up shortcuts self.actionStop.setShortcut(Qt.Key_Escape) self.actionBack.setShortcut(QKeySequence.Back) self.actionForward.setShortcut(QKeySequence.Forward) self.actionReload.setShortcut(QKeySequence.Refresh) self.actionHome.setShortcut('Ctrl+Home') self.actionShowMenu.setShortcut('Ctrl+m') self.actionShowToolbar.setShortcut('Ctrl+t') self.actionPrint.setShortcut(QKeySequence.Print) self.backShortcut = QShortcut(self) self.backShortcut.setKey(Qt.Key_Back) self.backShortcut.activated.connect(self.webViewMain.back) self.forwardShortcut = QShortcut(self) self.forwardShortcut.setKey(Qt.Key_Forward) self.forwardShortcut.activated.connect(self.webViewMain.forward) # Set up context menu self.webViewMain.setContextMenuPolicy(Qt.CustomContextMenu) self.webViewMain.customContextMenuRequested.connect(self.showMenu) # Setup statusbar and toolbar for c in self.statusBar().children()[0].children(): c.removeWidget(c) self.statusBar().addPermanentWidget(self.progressBar, 1) self.actionShowToolbar.setChecked(True) self.actionShowMenu.setChecked(True) # Icon if self.desktopEntry.hasKey('Icon'): self.icon = QIcon(self.desktopEntry.get('Icon')) self.setWindowIcon(self.icon) else: self.webViewMain.iconChanged.connect(self.setWindowIcon) # Set up events if self.desktopEntry.get('X-%s-menu-enabled' % APP_NAME) == '0': self.actionShowMenu.setChecked(False) else: self.actionShowMenu.setChecked(True) if self.desktopEntry.get('X-%s-toolbar-enabled' % APP_NAME) == '0': self.actionShowToolbar.setChecked(False) else: self.actionShowToolbar.setChecked(True) self.webViewMain.linkClicked.connect(self._onLinkClick) self.webViewMain.titleChanged.connect(self.setWindowTitle) self.webViewMain.loadProgress.connect(self._setLoadingStatus) self.webViewMain.urlChanged.connect( lambda x: self.urlLineEdit.setText(x.toString())) self.page.printRequested.connect(self._onPrint) self.page.loadFinished.connect(self._loadingFinished) self.actionHome.triggered.connect( lambda x: self.webViewMain.load(QUrl(self.base))) self.actionClose.triggered.connect(self.close) self.actionPrint.triggered.connect(self._onPrint) self.urlLineEdit.returnPressed.connect(self._onUrlEdit) self.actionShowToolbar.triggered.connect(self._onShowToolbar) self.actionShowMenu.triggered.connect(self._onShowMenu) self.actionAbout.triggered.connect(lambda x: about.show(self)) self.actionModifyWebapp.triggered.connect(self._onModify) self._onShowMenu() self._onShowToolbar() try: self.resize(int(self.desktopEntry.getWindowWidth()), int(self.desktopEntry.getWindowHeight())) except (ValueError, TypeError): self.resize(800, 600) # Load first page self.webViewMain.load(QUrl(base)) self.editor = SiteEditorWindow(self.desktopEntry, isNew=False)
def create_widget(self): """ Create the underlying menu bar widget. """ # Qt behaves better when creating the menu bar without a parent. self.widget = QMenuBar()
def setupUi(self, port): self.setObjectName("MainWindow") self.resize(600, 600) self.centralwidget = QWidget(self) p = self.centralwidget.palette() self.centralwidget.setAutoFillBackground(True) p.setColor(self.centralwidget.backgroundRole(), QColor(126, 135, 152)) self.centralwidget.setPalette(p) self.centralwidget.setObjectName("centralwidget") self.gridLayout = QGridLayout(self.centralwidget) self.gridLayout.setObjectName("gridLayout") self.setCentralWidget(self.centralwidget) self.menubar = QMenuBar(self) self.menubar.setGeometry(QRect(0, 0, 808, 25)) self.menubar.setObjectName("menubar") self.menuFile = QMenu(self.menubar) self.menuFile.setObjectName("menuFile") self.setMenuBar(self.menubar) self.statusbar = QStatusBar(self) self.statusbar.setObjectName("statusbar") self.setStatusBar(self.statusbar) self.actionQuit = QAction(self) self.actionQuit.setObjectName("actionQuit") self.menuFile.addSeparator() self.menuFile.addAction(self.actionQuit) self.menubar.addAction(self.menuFile.menuAction()) self.actionReset = QAction(self) self.actionReset.setObjectName("reset") self.menuFile.addSeparator() self.menuFile.addAction(self.actionReset) self.menubar.addAction(self.menuFile.menuAction()) # add other GUI objects self.graph_widget = GraphWidget(self.statusbar) self.gridLayout.addWidget(self.graph_widget, 1, 11, 10, 10) pixmap = QPixmap(':/images/cta-logo-mini.png') lbl = QLabel() lbl.setPixmap(pixmap) self.gridLayout.addWidget(lbl, 0, 0) p = self.graph_widget.palette() self.graph_widget.setAutoFillBackground(True) p.setColor(self.graph_widget.backgroundRole(), QColor(255, 255, 255)) # QColor(226, 235, 252)) self.graph_widget.setPalette(p) self.quitButton = QPushButton() # self.centralwidget) self.quitButton.setObjectName("quitButton") self.quitButton.setText( QApplication.translate("MainWindow", "Quit", None, QApplication.UnicodeUTF8)) self.gridLayout.addWidget(self.quitButton, 12, 0, 1, 1) self.info_label = InfoLabel(0, 4) self.info_label.setAutoFillBackground(True) self.gridLayout.addWidget(self.info_label, 1, 0, 1, 5) #self.info_label.setAlignment(PyQt4.Qt.AlignCenter); palette = QPalette() palette.setColor(self.info_label.backgroundRole(), Qt.lightGray) self.info_label.setPalette(palette) QObject.connect(self.quitButton, SIGNAL("clicked()"), self.stop) QObject.connect(self.actionQuit, SIGNAL("triggered()"), self.stop) QMetaObject.connectSlotsByName(self) self.retranslateUi() QObject.connect(self.actionQuit, SIGNAL("triggered()"), self.close) QMetaObject.connectSlotsByName(self) # Create GuiConnexion for ZMQ comminucation with pipeline self.guiconnection = GuiConnexion(gui_port=port, statusBar=self.statusbar) self.guiconnection.message.connect(self.graph_widget.pipechange) self.guiconnection.message.connect(self.info_label.pipechange) self.guiconnection.reset_message.connect(self.graph_widget.reset) self.guiconnection.reset_message.connect(self.info_label.reset) self.guiconnection.mode_message.connect(self.info_label.mode_receive) QObject.connect(self.actionReset, SIGNAL("triggered()"), self.guiconnection.reset) QMetaObject.connectSlotsByName(self) # start the process self.guiconnection.start()
# coding: utf-8 from PyQt4.QtGui import QDialog, QMenu, QMenuBar, QVBoxLayout from qgis.core import QgsColorSchemeRegistry, QgsCustomColorScheme from qgis.gui import QgsColorSwatchGridAction new_dialog = QDialog() main_layout = QVBoxLayout() menu_bar = QMenuBar() menu = QMenu(u"Test") color_scheme_registry = QgsColorSchemeRegistry.instance() schemes = color_scheme_registry.schemes() project_scheme = [s for s in schemes if isinstance(s, QgsCustomColorScheme)][0] color_swatch_grid_action = QgsColorSwatchGridAction(project_scheme, menu) menu.addAction(color_swatch_grid_action) menu_bar.addMenu(menu) main_layout.setMenuBar(menu_bar) new_dialog.setLayout(main_layout) new_dialog.show()