Exemplo n.º 1
0
    def left_navigation(self, parent):
        # Left Docket Widget
        self.dockWidget_Left = QDockWidget(parent)
        sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.dockWidget_Left.sizePolicy().hasHeightForWidth())
        self.dockWidget_Left.setSizePolicy(sizePolicy)
        self.dockWidget_Left.setMinimumSize(QSize(250, 500))
        self.dockWidget_Left.setMaximumSize(QSize(250, 524287))
        self.dockWidget_Left.setSizeIncrement(QSize(0, 0))
        self.dockWidget_Left.setFloating(False)
        self.dockWidget_Left.setFeatures(QDockWidget.NoDockWidgetFeatures)
        self.dockWidget_Left.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea)

        # Left Docket Widget Content
        self.dockWidgetContents = QWidget()

        # Vertical layout inside Left Docket Widget Content
        self.verticalLayout = QVBoxLayout(self.dockWidgetContents)
        self.verticalLayout.setContentsMargins(10, 10, 10, 10)

        # Title label
        self.label = QLabel(self.dockWidgetContents)
        self.label.setText("Tournaments")
        self.label.setAlignment(Qt.AlignCenter)

        # List widget
        self.listWidget = QListWidget(self.dockWidgetContents)

        # Add label and list widget to vertical
        self.verticalLayout.addWidget(self.label)
        self.verticalLayout.addWidget(self.listWidget)
        self.dockWidget_Left.setWidget(self.dockWidgetContents)
        parent.addDockWidget(Qt.DockWidgetArea(1), self.dockWidget_Left)
Exemplo n.º 2
0
    def _initMaya(self):
        """
        Initialize Maya-related state. Delete Maya nodes if there
        is an old document left over from the same session. Set up
        the Maya window.
        """
        # There will only be one document
        if (app().active_document and app().active_document.win
                and not app().active_document.win.close()):
            return
        del app().active_document
        app().active_document = self

        import maya.OpenMayaUI as OpenMayaUI
        import sip
        ptr = OpenMayaUI.MQtUtil.mainWindow()
        mayaWin = sip.wrapinstance(int(ptr), QMainWindow)
        self.windock = QDockWidget("cadnano")
        self.windock.setFeatures(QDockWidget.DockWidgetMovable
                                 | QDockWidget.DockWidgetFloatable)
        self.windock.setAllowedAreas(Qt.LeftDockWidgetArea
                                     | Qt.RightDockWidgetArea)
        self.windock.setWidget(self.win)
        mayaWin.addDockWidget(Qt.DockWidgetArea(Qt.LeftDockWidgetArea),
                              self.windock)
        self.windock.setVisible(True)
Exemplo n.º 3
0
    def __init__(self, mainwindow, position: Qt.DockWidgetArea) -> None:
        super().__init__("Data", mainwindow)
        self.mainwindow = mainwindow
        self.initUI()
        mainwindow.addDockWidget(Qt.DockWidgetArea(position), self)

        self.load_project(mainwindow.project)
Exemplo n.º 4
0
 def resetToolbar(self):
     ''' docstring: 还原工具栏位置,采用删除后重填加的方式 '''
     self.removeDockWidget(self.Toolbar)
     if not self.Toolbar.isVisible():  # visible是自身属性,可以直接修改
         self.Toolbar.toggleViewAction().trigger()
     self.addDockWidget(Qt.DockWidgetArea(Qt.RightDockWidgetArea),
                        self.Toolbar)
     if self.Toolbar.isFloating():  # floating属性涉及到外部dock位置,需要先确定父widget
         self.Toolbar.setFloating(False)
Exemplo n.º 5
0
    def __init__(self, TraceMain, name):
        super(QDockWidget, self).__init__(TraceMain)

        #self.dockWidget = QDockWidget(TraceMain)
        self.dockContents = QWidget(TraceMain)  # Create container

        self.setFeatures(QDockWidget.DockWidgetFloatable
                         | QDockWidget.DockWidgetMovable)
        self.setWindowTitle(name)  # set dockwidget title

        self.setWidget(self.dockContents)  # add container to dockwidget

        TraceMain.addDockWidget(Qt.DockWidgetArea(Qt.TopDockWidgetArea),
                                self)  # add widget to dock
        TraceMain.setTabPosition(Qt.DockWidgetArea(Qt.TopDockWidgetArea),
                                 QTabWidget.TabPosition(QTabWidget.North))

        Globals.dockList.append(self)  # Keep track of all docks

        if (len(Globals.dockList) > 1):
            for i, purge in enumerate(Globals.dockList):
                if i < len(Globals.dockList) - 1:
                    TraceMain.tabifyDockWidget(Globals.dockList[i],
                                               Globals.dockList[i + 1])

        self.parent = TraceMain  # Set parent, so we can access the MainWindow (e.g themeChange)

        # Initialize all modules
        self.name = name
        self.snifferConfig = ConfigurationData(self, name)
        self.snifferParser = SnifferFileParser()

        self.snifferFilter = SnifferFilter(self)
        self.snifferFilter.setSnifferFilterUi()

        self.snifferStats = SnifferStats()
        self.snifferStats.setSnifferStatsUi()
        self.logger = SnifferLogger(name)
Exemplo n.º 6
0
    def __init__(self):
        try:
            #Setup Window Size and Titlebar
            super(DataVisualizerGui, self).__init__()
            self.setWindowTitle('DATA VISUALIZER TOOL')
            self.setGeometry(WINDOW_MARGIN, WINDOW_MARGIN, WINDOW_WIDTH,
                             WINDOW_HEIGHT)

            #Set up Window Space
            self.mainWidget = QWidget()
            self.mainLayout = QVBoxLayout()
            self.mainWidget.setLayout(self.mainLayout)
            self.setCentralWidget(self.mainWidget)

            #Add Welcome Message
            label = QLabel('Welcome to the Data Visualizer!')
            self._set_font(label, 24, True)
            self.mainLayout.addWidget(label)

            # Add Button
            self.loadDsButton = QPushButton('Load New Dataset ---->')
            self.loadDsButton.setToolTip(
                'Runs the Sequence Created on the DockedWindow')
            self.loadDsButton.clicked.connect(self._load_new_ds)
            self._set_font(self.loadDsButton, 14, True)
            self.mainLayout.addWidget(self.loadDsButton)

            # Add Plot Area
            self.scrollArea = QScrollArea()
            self.scrollArea.setWidgetResizable(True)
            self.pltCanvas = PlotCanvas(self,
                                        width=FIG_WIDTH,
                                        height=FIG_WIDTH)
            self.scrollArea.setWidget(self.pltCanvas)
            self.naviToolbar = NavigationToolbar(self.pltCanvas, self)
            self.mainLayout.addWidget(self.scrollArea)
            self.mainLayout.addWidget(self.naviToolbar)

            #Add Data Selector Dock Widget
            self.dataSelectorWindow = DataWindow(self.pltCanvas)
            self.dockRightArea = Qt.DockWidgetArea(2)
            self.addDockWidget(self.dockRightArea, self.dataSelectorWindow)

            self.show()
        except:
            traceback.print_exc()
Exemplo n.º 7
0
    def __init__(self):
        super(QtTrajectoryViewer, self).__init__()

        self.controls = QDockWidget()

        # Eliminate the dock titlebar
        title_widget = QtWidgets.QWidget(self)
        self.controls.setTitleBarWidget(title_widget)

        traj_controls = TrajectoryControls(self)
        self.controls.setWidget(traj_controls)

        # Molecular viewer
        self.widget = QChemlabWidget(self)
        self.setCentralWidget(self.widget)
        self.addDockWidget(Qt.DockWidgetArea(Qt.BottomDockWidgetArea),
                           self.controls)

        self.show()
        # Replace in this way

        traj_controls.frame_changed.connect(self.on_frame_changed)
        self.traj_controls = traj_controls
Exemplo n.º 8
0
    def widgets(self):
        # Setup the Widgets for UI

        #================================ Setup Dock Widgets =======================================================

        self.dock_list = QDockWidget()
        self.dock_control = QDockWidget()
        self.addDockWidget(Qt.DockWidgetArea(1), self.dock_control)
        self.addDockWidget(Qt.DockWidgetArea(1), self.dock_list)
        self.dock_list.setWindowTitle(
            QApplication.translate("self", "Music List", None))
        self.dock_control.setWindowTitle(
            QApplication.translate("self", "Control Pad", None))

        # =============================== Setup Menu Bar and Menus =================================================

        self.menu = self.menuBar()
        self.file = self.menu.addMenu("File")
        self.control_pad_show = QAction("Show Control Pad")
        self.control_pad_show.setShortcut("Shift+C")
        self.control_pad_show.triggered.connect(self.show_control_pad)
        self.file.addAction(self.control_pad_show)

        self.music_list_show = QAction("Show Music List")
        self.music_list_show.setShortcut("Shift+M")
        self.music_list_show.triggered.connect(self.show_music_list)
        self.file.addAction(self.music_list_show)

        # =============================== Setup all Widgets (Buttons , List ) ======================================

        # Music Progress Bar
        self.progress_bar = QSlider(Qt.Horizontal)
        self.progress_bar.sliderPressed.connect(self.change_time_slider)
        self.progress_bar.sliderMoved.connect(self.slider_released)
        self.progress_bar.sliderReleased.connect(self.slider_released)

        # Add song Btton
        self.add_button = QToolButton()
        self.add_button.setIcon(QIcon("icons/23937_52032_add_gtk.png"))
        self.add_button.setIconSize(QSize(48, 48))
        self.add_button.setToolTip("Add a song")
        self.add_button.clicked.connect(self.add_song)

        # Shuffle Button
        self.shuffle_button = QToolButton()
        self.shuffle_button.setIcon(QIcon("icons/shuffle.png"))
        self.shuffle_button.setIconSize(QSize(48, 48))
        self.shuffle_button.setToolTip("Shuffle")
        self.shuffle_button.clicked.connect(self.shuffle_song_list)

        # Previous Button (Play Previous song)
        self.previous_button = QToolButton()
        self.previous_button.setIcon(QIcon("icons/backward.png"))
        self.previous_button.setIconSize(QSize(48, 48))
        self.previous_button.setToolTip("Play Previous")
        self.previous_button.clicked.connect(self.play_previous)

        # Play Button
        self.play_button = QToolButton()
        self.play_button.setIcon(QIcon("icons/play.png"))
        self.play_button.setIconSize(QSize(64, 64))
        self.play_button.setToolTip("Play")
        self.play_button.clicked.connect(self.play_song)

        # Pause Button
        self.pause_button = QToolButton()
        self.pause_button.setIcon(QIcon("icons/pause.png"))
        self.pause_button.setIconSize(QSize(64, 64))
        self.pause_button.setToolTip("Pause")
        self.pause_button.clicked.connect(self.pause_song)

        # Forward Button (Play Next Song)
        self.forward_button = QToolButton()
        self.forward_button.setIcon(QIcon("icons/forwards.png"))
        self.forward_button.setIconSize(QSize(48, 48))
        self.forward_button.setToolTip("Play Next")
        self.forward_button.clicked.connect(self.play_forward)

        # Mute Button
        self.mute_button = QToolButton()
        self.mute_button.setIcon(QIcon("icons/volume-adjustment.png"))
        self.mute_button.setIconSize(QSize(24, 24))
        self.mute_button.setToolTip("Mute")
        self.mute_button.clicked.connect(self.set_mute)

        # Volume Slider
        self.volume_slider = QSlider(Qt.Horizontal)
        self.volume_slider.setToolTip("Volume")
        self.volume_slider.setMaximumWidth(50)
        self.volume_slider.setMinimumWidth(50)
        self.volume_slider.setMaximum(100)
        self.volume_slider.setValue(70)
        self.volume_slider.valueChanged.connect(self.volume_change)
        mixer.music.set_volume(0.7)

        # Music List
        self.song_list = QListWidget()
        self.song_list.doubleClicked.connect(self.play_song)

        # Seek Timer
        self.timer = QTimer()
        self.timer.setInterval(1000)
        self.timer.timeout.connect(self.update_progress)
        self.timer.stop()

        # Song Time Labels
        self.song_timer_label = QLabel("00:00")
        self.song_length_label = QLabel("/ 00:00")
Exemplo n.º 9
0
    def setupUi(self, qMainWindow):
        qMainWindow.resize(860, 506)
        self.qWidget1 = QtWidgets.QWidget(qMainWindow)
        self.qScrollArea = QtWidgets.QScrollArea(self.qWidget1)
        self.qScrollArea.setGeometry(QRect(20, 20, 541, 361))
        self.qScrollArea.setMinimumSize(QSize(200, 0))
        self.qScrollArea.setSizeAdjustPolicy(
            QtWidgets.QAbstractScrollArea.AdjustIgnored)
        self.qScrollArea.setWidgetResizable(True)
        self.qScrollArea.setAlignment(Qt.AlignCenter)
        self.qWidget2 = QtWidgets.QWidget(self.qScrollArea)
        self.qWidget2.setGeometry(QRect(0, 0, 539, 359))
        self.qVBoxLayout1 = QtWidgets.QVBoxLayout(self.qWidget2)
        self.qLabel = QtWidgets.QLabel(self.qWidget2)
        self.qLabel.setAlignment(Qt.AlignCenter)
        self.qLabel.setText("待显示图片")
        self.qVBoxLayout1.addWidget(self.qLabel)
        self.qScrollArea.setWidget(self.qWidget2)
        qMainWindow.setCentralWidget(self.qWidget1)

        self.qMenuBar = QtWidgets.QMenuBar(qMainWindow)
        self.qMenuBar.setGeometry(QRect(0, 0, 860, 23))
        self.qMenu1 = QtWidgets.QMenu(self.qMenuBar)
        self.qMenu1.setTitle("目录树")
        self.qMenu2 = QtWidgets.QMenu(self.qMenuBar)
        self.qMenu2.setTitle("视图")
        self.qAction1 = QtWidgets.QAction(qMainWindow)
        self.qAction1.setText("添加目录")
        self.qAction1.setIcon(QIcon("../image/folder1.bmp"))
        self.qAction2 = QtWidgets.QAction(qMainWindow)
        self.qAction2.setText("添加文件")
        self.qAction2.setIcon(QIcon("../image/824.bmp"))
        self.qAction3 = QtWidgets.QAction(qMainWindow)
        self.qAction3.setText("删除节点")
        self.qAction3.setIcon(QIcon("../image/delete1.bmp"))
        self.qAction3.setEnabled(False)
        self.qAction4 = QtWidgets.QAction(qMainWindow)
        self.qAction4.setText("遍历节点")
        self.qAction4.setIcon(QIcon("../image/fold.bmp"))
        self.qAction5 = QtWidgets.QAction(qMainWindow)
        self.qAction5.setText("退出")
        self.qAction5.setIcon(QIcon("../image/exit.bmp"))
        self.qAction6 = QtWidgets.QAction(qMainWindow)
        self.qAction6.setText("放大")
        self.qAction6.setIcon(QIcon("../image/418.bmp"))
        self.qAction6.setEnabled(False)
        self.qAction7 = QtWidgets.QAction(qMainWindow)
        self.qAction7.setText("缩小")
        self.qAction7.setIcon(QIcon("../image/416.bmp"))
        self.qAction7.setEnabled(False)
        self.qAction8 = QtWidgets.QAction(qMainWindow)
        self.qAction8.setText("实际大小")
        self.qAction8.setIcon(QIcon("../image/414.bmp"))
        self.qAction8.setEnabled(False)
        self.qAction9 = QtWidgets.QAction(qMainWindow)
        self.qAction9.setText("适合宽度")
        self.qAction9.setIcon(QIcon("../image/424.bmp"))
        self.qAction9.setEnabled(False)
        self.qAction10 = QtWidgets.QAction(qMainWindow)
        self.qAction10.setText("适合高度")
        self.qAction10.setIcon(QIcon("../image/426.bmp"))
        self.qAction10.setEnabled(False)
        self.qMenu1.addAction(self.qAction1)
        self.qMenu1.addAction(self.qAction2)
        self.qMenu1.addAction(self.qAction3)
        self.qMenu1.addAction(self.qAction4)
        self.qMenu1.addSeparator()
        self.qMenu1.addAction(self.qAction5)
        self.qMenu2.addAction(self.qAction6)
        self.qMenu2.addAction(self.qAction7)
        self.qMenu2.addAction(self.qAction8)
        self.qMenu2.addAction(self.qAction9)
        self.qMenu2.addAction(self.qAction10)
        self.qMenuBar.addMenu(self.qMenu1)
        self.qMenuBar.addMenu(self.qMenu2)
        qMainWindow.setMenuBar(self.qMenuBar)

        self.qToolBar = QtWidgets.QToolBar(qMainWindow)
        self.qToolBar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.qAction11 = QtWidgets.QAction(qMainWindow)
        self.qAction11.setText("窗体浮动")
        self.qAction11.setIcon(QIcon("../image/814.bmp"))
        self.qAction11.setCheckable(True)
        self.qAction11.setChecked(False)
        self.qAction12 = QtWidgets.QAction(qMainWindow)
        self.qAction12.setText("窗体可见")
        self.qAction12.setIcon(QIcon("../image/414.bmp"))
        self.qAction12.setCheckable(True)
        self.qAction12.setChecked(True)
        self.qToolBar.addAction(self.qAction1)
        self.qToolBar.addAction(self.qAction2)
        self.qToolBar.addAction(self.qAction3)
        self.qToolBar.addAction(self.qAction4)
        self.qToolBar.addSeparator()
        self.qToolBar.addAction(self.qAction6)
        self.qToolBar.addAction(self.qAction7)
        self.qToolBar.addAction(self.qAction8)
        self.qToolBar.addAction(self.qAction9)
        self.qToolBar.addAction(self.qAction10)
        self.qToolBar.addSeparator()
        self.qToolBar.addAction(self.qAction11)
        self.qToolBar.addAction(self.qAction12)
        self.qToolBar.addSeparator()
        self.qToolBar.addAction(self.qAction5)
        qMainWindow.addToolBar(Qt.TopToolBarArea, self.qToolBar)

        self.qStatusBar = QtWidgets.QStatusBar(qMainWindow)
        qMainWindow.setStatusBar(self.qStatusBar)

        self.qDockWidget = QtWidgets.QDockWidget(qMainWindow)
        self.qDockWidget.setFeatures(
            QtWidgets.QDockWidget.AllDockWidgetFeatures)
        self.qDockWidget.setAllowedAreas(Qt.LeftDockWidgetArea
                                         | Qt.RightDockWidgetArea)
        self.qDockWidget.setWindowTitle("图片目录树")
        self.qWidget3 = QtWidgets.QWidget(self.qDockWidget)
        self.qVBoxLayout2 = QtWidgets.QVBoxLayout(self.qWidget3)
        self.qTreeWidget = QtWidgets.QTreeWidget(self.qWidget3)
        self.qTreeWidget.setColumnCount(2)
        self.qTreeWidget.headerItem().setTextAlignment(0, Qt.AlignCenter)
        self.qTreeWidget.headerItem().setTextAlignment(1, Qt.AlignCenter)
        self.qTreeWidget.header().setDefaultSectionSize(150)
        self.qTreeWidget.headerItem().setText(0, "节点")
        self.qTreeWidget.headerItem().setText(1, "节点类型")
        qTreeWidgetItem1 = QtWidgets.QTreeWidgetItem(self.qTreeWidget)
        qTreeWidgetItem1.setIcon(0, QIcon("../image/15.ico"))
        qTreeWidgetItem2 = QtWidgets.QTreeWidgetItem(qTreeWidgetItem1)
        qTreeWidgetItem2.setIcon(0, QIcon("../image/open3.bmp"))
        qTreeWidgetItem3 = QtWidgets.QTreeWidgetItem(qTreeWidgetItem2)
        qTreeWidgetItem3.setIcon(0, QIcon("../image/31.ico"))
        qTreeWidgetItem3.setFlags(Qt.ItemIsSelectable | Qt.ItemIsUserCheckable
                                  | Qt.ItemIsEnabled)
        qTreeWidgetItem4 = QtWidgets.QTreeWidgetItem(qTreeWidgetItem1)
        qTreeWidgetItem4.setIcon(0, QIcon("../image/open3.bmp"))
        qTreeWidgetItem5 = QtWidgets.QTreeWidgetItem(qTreeWidgetItem4)
        qTreeWidgetItem5.setIcon(0, QIcon("../image/31.ico"))
        self.qTreeWidget.topLevelItem(0).setText(0, "图片文件")
        self.qTreeWidget.topLevelItem(0).child(0).setText(0, "分组节点")
        self.qTreeWidget.topLevelItem(0).child(0).child(0).setText(0, "图片节点")
        self.qTreeWidget.topLevelItem(0).child(1).setText(0, "分组2")
        self.qTreeWidget.topLevelItem(0).child(1).child(0).setText(0, "图片2")
        self.qVBoxLayout2.addWidget(self.qTreeWidget)
        self.qDockWidget.setWidget(self.qWidget3)
        qMainWindow.addDockWidget(Qt.DockWidgetArea(1), self.qDockWidget)

        self.qAction1.setObjectName("qAction1")
        self.qAction2.setObjectName("qAction2")
        self.qAction3.setObjectName("qAction3")
        self.qAction4.setObjectName("qAction4")
        self.qAction5.setObjectName("qAction5")
        self.qAction6.setObjectName("qAction6")
        self.qAction7.setObjectName("qAction7")
        self.qAction8.setObjectName("qAction8")
        self.qAction9.setObjectName("qAction9")
        self.qAction10.setObjectName("qAction10")
        self.qAction11.setObjectName("qAction11")
        self.qAction12.setObjectName("qAction12")
        self.qTreeWidget.setObjectName("qTreeWidget")
        self.qDockWidget.setObjectName("qDockWidget")

        self.qAction5.triggered.connect(qMainWindow.close)
        QtCore.QMetaObject.connectSlotsByName(qMainWindow)
Exemplo n.º 10
0
    def setup(self):
        #        定义主窗口
        self.setEnabled(True)
        self.resize(800, 600)
        self.setMinimumSize(QSize(800, 600))

        #        创建堆叠窗口
        self.mw_stacked_widget = StackedWidget()
        self.mw_stacked_widget.setup()

        #        创建参数列表窗口
        self.mw_paralist_dock = ParalistDock()
        self.mw_paralist_dock.setup()
        self.addDockWidget(Qt.DockWidgetArea(1), self.mw_paralist_dock)

        #        设置主窗口布局
        self.mainwindow_layout = QWidget(self)
        self.mainwindow_layout.setObjectName("mainwindow_layout")
        self.horizontalLayout = QHBoxLayout(self.mainwindow_layout)
        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout.setSpacing(0)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.horizontalLayout.addWidget(self.mw_stacked_widget)
        self.setCentralWidget(self.mainwindow_layout)

        #        创建菜单栏
        self.menubar = QMenuBar(self)
        self.menubar.setGeometry(QRect(0, 0, 800, 23))
        self.menubar.setObjectName("menubar")
        self.menu_file = QMenu(self.menubar)
        self.menu_file.setObjectName("menu_file")
        self.menu_import = QMenu(self.menu_file)
        self.menu_import.setObjectName("menu_import")
        self.menu_export = QMenu(self.menu_file)
        self.menu_export.setObjectName("menu_export")
        self.menu_edit = QMenu(self.menubar)
        self.menu_edit.setObjectName("menu_edit")
        self.menu_view = QMenu(self.menubar)
        self.menu_view.setObjectName("menu_view")
        self.menu_tools = QMenu(self.menubar)
        self.menu_tools.setObjectName("menu_tools")
        self.menu_window = QMenu(self.menubar)
        self.menu_window.setObjectName("menu_window")
        self.menu_help = QMenu(self.menubar)
        self.menu_help.setObjectName("menu_help")
        self.menu_analysis = QMenu(self.menubar)
        self.menu_analysis.setObjectName("menu_analysis")
        self.menu_mathematics = QMenu(self.menu_analysis)
        self.menu_mathematics.setObjectName("menu_mathematics")
        self.menu_data_manipulation = QMenu(self.menu_analysis)
        self.menu_data_manipulation.setObjectName("menu_data_manipulation")
        self.menu_data_manage = QMenu(self.menu_analysis)
        self.menu_data_manage.setObjectName("menu_data_manage")
        self.menu_plot = QMenu(self.menubar)
        self.menu_plot.setObjectName("menu_plot")
        self.setMenuBar(self.menubar)

        #        创建状态栏
        self.statusbar = QStatusBar(self)
        self.statusbar.setObjectName("statusbar")
        self.setStatusBar(self.statusbar)

        #        创建工具栏
        self.toolbar = QToolBar(self)
        self.toolbar.setObjectName("toolbar")
        self.addToolBar(Qt.TopToolBarArea, self.toolbar)

        #        创建动作
        self.action_new = QAction(self)
        self.action_new.setObjectName("action_new")
        self.action_open = QAction(self)
        self.action_open.setObjectName("action_open")
        self.action_import_normal_datafile = QAction(self)
        self.action_import_normal_datafile.setObjectName(
            "action_import_normal_datafile")
        self.action_export_data = QAction(self)
        self.action_export_data.setObjectName("action_export_data")
        self.action_exit = QAction(self)
        self.action_exit.setObjectName("action_exit")
        self.action_simple_math = QAction(self)
        self.action_simple_math.setObjectName("action_simple_math")
        self.action_testpoint_manage = QAction(self)
        self.action_testpoint_manage.setObjectName("action_testpoint_manage")
        self.action_synchronization = QAction(self)
        self.action_synchronization.setObjectName("action_synchronization")
        self.action_tuning = QAction(self)
        self.action_tuning.setObjectName("action_tuning")
        self.action_para_manage = QAction(self)
        self.action_para_manage.setObjectName("action_para_manage")
        self.action_temp_manage = QAction(self)
        self.action_temp_manage.setObjectName("action_temp_manage")
        self.action_options = QAction(self)
        self.action_options.setObjectName("action_options")
        self.action_about = QAction(self)
        self.action_about.setObjectName("action_about")
        self.action_quick_plot = QAction(self)
        self.action_quick_plot.setObjectName("action_quick_plot")
        self.action_custom_defined_plot = QAction(self)
        self.action_custom_defined_plot.setObjectName(
            "action_custom_defined_plot")
        self.action_multi_source_plot = QAction(self)
        self.action_multi_source_plot.setObjectName("action_multi_source_plot")
        self.action_paralist_dock_isclosed = QAction(self)
        self.action_paralist_dock_isclosed.setCheckable(True)
        self.action_paralist_dock_isclosed.setChecked(True)
        self.action_paralist_dock_isclosed.setObjectName(
            "action_paralist_dock_isclosed")

        #        将动作添加到对应的菜单下
        self.menu_import.addAction(self.action_import_normal_datafile)
        self.menu_export.addAction(self.action_export_data)
        self.menu_file.addAction(self.action_new)
        self.menu_file.addAction(self.action_open)
        self.menu_file.addSeparator()
        self.menu_file.addAction(self.menu_import.menuAction())
        self.menu_file.addAction(self.menu_export.menuAction())
        self.menu_file.addSeparator()
        self.menu_file.addAction(self.action_exit)
        self.menu_view.addAction(self.action_paralist_dock_isclosed)
        self.menu_tools.addAction(self.action_options)
        self.menu_help.addAction(self.action_about)
        self.menu_mathematics.addAction(self.action_simple_math)
        self.menu_data_manipulation.addAction(self.action_testpoint_manage)
        self.menu_data_manipulation.addAction(self.action_synchronization)
        self.menu_data_manipulation.addAction(self.action_tuning)
        self.menu_data_manage.addAction(self.action_para_manage)
        self.menu_data_manage.addAction(self.action_temp_manage)
        self.menu_analysis.addAction(self.menu_mathematics.menuAction())
        self.menu_analysis.addAction(self.menu_data_manipulation.menuAction())
        self.menu_analysis.addAction(self.menu_data_manage.menuAction())
        self.menu_plot.addAction(self.action_quick_plot)
        self.menu_plot.addAction(self.action_custom_defined_plot)
        self.menu_plot.addAction(self.action_multi_source_plot)
        self.menubar.addAction(self.menu_file.menuAction())
        self.menubar.addAction(self.menu_edit.menuAction())
        self.menubar.addAction(self.menu_view.menuAction())
        self.menubar.addAction(self.menu_analysis.menuAction())
        self.menubar.addAction(self.menu_plot.menuAction())
        self.menubar.addAction(self.menu_tools.menuAction())
        self.menubar.addAction(self.menu_window.menuAction())
        self.menubar.addAction(self.menu_help.menuAction())
        self.toolbar.addAction(self.action_import_normal_datafile)

        self.retranslate()
        #        QMetaObject.connectSlotsByName(self)

        # =======连接信号与槽
        self.mw_paralist_dock.signal_close.connect(
            self.slot_paralist_dock_close)
Exemplo n.º 11
0
 def __init__(self, mainwindow, Position: Qt.DockWidgetArea) -> None:
     super().__init__("Canvas Properties", mainwindow)
     self.mainwindow = mainwindow
     self.initUI()
     mainwindow.addDockWidget(Qt.DockWidgetArea(Position), self)
Exemplo n.º 12
0
    def __init__(self, configFile: Any=None, BRAHMA: bool=False, expert: bool=False,
                 devices: str=None, hideHistograms: bool=False) -> None:
        WidgetBase.__init__(self, hideHistograms=hideHistograms)
        AOClassTemplate.__init__(self)

        self.BRAHMA = BRAHMA
        self.rollingWindow = 100
        self.SRLE = deque(maxlen=self.rollingWindow)
        self.SRSE = deque(maxlen=self.rollingWindow)
        self.numiter = deque(maxlen=self.rollingWindow)
        self.expert = expert
        self.devices = devices

        self.uiAO = AOWindowTemplate()
        self.uiAO.setupUi(self)

        #############################################################
        #                   ATTRIBUTES                              #
        #############################################################

        self.supervisor = None
        self.config = None
        self.stop = False  # type: bool  # Request quit

        self.uiAO.wao_nbiters.setValue(1000)  # Default GUI nIter box value
        self.nbiter = self.uiAO.wao_nbiters.value()
        self.refreshTime = 0  # type: float  # System time at last display refresh
        self.assistant = None  # type: Any
        self.see_atmos = 1

        #############################################################
        #                 CONNECTED BUTTONS                         #
        #############################################################

        # Default path for config files
        self.defaultParPath = os.environ["SHESHA_ROOT"] + "/data/par/par4bench"
        self.defaultAreaPath = os.environ["SHESHA_ROOT"] + "/data/layouts"
        self.loadDefaultConfig()

        self.uiAO.wao_run.setCheckable(True)
        self.uiAO.wao_run.clicked[bool].connect(self.aoLoopClicked)
        self.uiAO.wao_openLoop.setCheckable(True)
        self.uiAO.wao_openLoop.clicked[bool].connect(self.aoLoopOpen)
        self.uiAO.wao_next.clicked.connect(self.loopOnce)
        self.uiAO.wao_resetSR.clicked.connect(self.resetSR)
        # self.uiAO.wao_actionHelp_Contents.triggered.connect(self.on_help_triggered)

        self.uiAO.wao_allTarget.stateChanged.connect(self.updateAllTarget)
        self.uiAO.wao_forever.stateChanged.connect(self.updateForever)

        self.uiAO.wao_atmosphere.clicked[bool].connect(self.set_see_atmos)
        self.dispStatsInTerminal = False
        self.uiAO.wao_clearSR.clicked.connect(self.clearSR)
        # self.uiAO.actionStats_in_Terminal.toggled.connect(self.updateStatsInTerminal)

        self.uiAO.wao_run.setDisabled(True)
        self.uiAO.wao_next.setDisabled(True)
        self.uiAO.wao_unzoom.setDisabled(True)
        self.uiAO.wao_resetSR.setDisabled(True)

        p1 = self.uiAO.wao_SRPlotWindow.addPlot(title='SR evolution')
        self.curveSRSE = p1.plot(pen=(255, 0, 0), symbolBrush=(255, 0, 0), name="SR SE")
        self.curveSRLE = p1.plot(pen=(0, 0, 255), symbolBrush=(0, 0, 255), name="SR LE")

        self.SRCrossX = {}  # type: Dict[str, pg.ScatterPlotItem]
        self.SRCrossY = {}  # type: Dict[str, pg.ScatterPlotItem]
        self.SRcircles = {}  # type: Dict[str, pg.ScatterPlotItem]

        self.natm = 0
        self.nwfs = 0
        self.ndm = 0
        self.ntar = 0
        self.PSFzoom = 50
        self.uiAO.wao_SRDock.setVisible(False)

        self.addDockWidget(Qt.DockWidgetArea(1), self.uiBase.wao_ConfigDock)
        self.addDockWidget(Qt.DockWidgetArea(1), self.uiBase.wao_DisplayDock)
        self.uiBase.wao_ConfigDock.setFloating(False)
        self.uiBase.wao_DisplayDock.setFloating(False)

        if expert:
            from .widget_ao_expert import WidgetAOExpert
            self.expertWidget = WidgetAOExpert()
            # self.expertWidget.setupUi(self)
            self.addDockWidget(
                    Qt.DockWidgetArea(1), self.expertWidget.uiExpert.wao_expertDock)
            self.expertWidget.uiExpert.wao_expertDock.setFloating(False)

        self.adjustSize()

        if configFile is not None:
            self.uiBase.wao_selectConfig.clear()
            self.uiBase.wao_selectConfig.addItem(configFile)
            self.loadConfig()
            self.initConfig()