示例#1
0
        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)
示例#2
0
    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_)
示例#3
0
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
示例#4
0
    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
示例#5
0
    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())
示例#6
0
    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()
示例#7
0
        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)
示例#8
0
    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')
示例#9
0
    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)
示例#10
0
    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)
示例#11
0
    #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)
示例#12
0
    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
示例#13
0
文件: db_manager.py 项目: jarped/QGIS
    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)
示例#14
0
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)
示例#15
0
    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)
示例#16
0
    def create_widget(self):
        """ Create the underlying menu bar widget.

        """
        # Qt behaves better when creating the menu bar without a parent.
        self.widget = QMenuBar()
示例#17
0
 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()