Пример #1
0
def displayMetaDataSubWindow(self, tableTitle, dataset):
    """
    Creates a subwindow that displays a DICOM image's metadata. 
    """
    try:
        logger.info('ViewMetaData.displayMetaDataSubWindow called.')
        title = "DICOM Image Metadata"
                    
        widget = QWidget()
        widget.setLayout(QVBoxLayout()) 
        metaDataSubWindow = QMdiSubWindow(self)
        metaDataSubWindow.setAttribute(Qt.WA_DeleteOnClose)
        metaDataSubWindow.setWidget(widget)
        metaDataSubWindow.setObjectName("metaData_Window")
        metaDataSubWindow.setWindowTitle(title)
        height, width = self.getMDIAreaDimensions()
        metaDataSubWindow.setGeometry(width * 0.4,0,width*0.6,height)
        lblImageName = QLabel('<H4>' + tableTitle + '</H4>')
        widget.layout().addWidget(lblImageName)

        DICOM_Metadata_Table_View = buildTableView(self, dataset) 
            
        widget.layout().addWidget(DICOM_Metadata_Table_View)

        self.mdiArea.addSubWindow(metaDataSubWindow)
        metaDataSubWindow.show()
    except Exception as e:
        print('Error in : ViewMetaData.displayMetaDataSubWindow' + str(e))
        logger.error('Error in : ViewMetaData.displayMetaDataSubWindow' + str(e))
Пример #2
0
    def __add__(self, widget):
        """
		Show widget on mdi area.

		If widget does not have a subwindow assigned, create a new subwindow without enabling the WA_DeleteOnClose event.
		This will allow subwindow to be hidden instead of destroyed. Otherwise, the closeEvent.accept() will cause
		the "Internal c++ Object Already Deleted" problem.

		If widget already has a subwindow, just show them (both the subwindow and the widget inside)!
		:param widget:
		:return:
		"""

        if not hasattr(widget, 'subwindow'):
            subwindow = QMdiSubWindow()
            subwindow.setWidget(widget)
            rect = widget.geometry()
            # DO NOT SET ATTRIBUTE WA_DeleteOnClose because we want window not to be destroyed
            widget.subwindow = self.addSubWindow(subwindow)
            subwindow.setGeometry(rect)

        widget.subwindow.show()
        widget.show()
        widget.closeEvent = lambda x: self._subWindowClosed(x)
        widget.setFocus()

        logger.debug("Sub window opened. MDI area sub windows: %s",
                     self.subWindowList())

        return self
Пример #3
0
    def new_windows(self):
        sub = QMdiSubWindow()
        sub.setWidget(QTextEdit())
        sub.setWindowTitle("New Article")
        sub.setGeometry(100, 100, 600, 320)

        self.mdi.addSubWindow(sub)
        sub.show()
Пример #4
0
class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.title = 'Show - Skill Tree'
        self.height = 400
        self.width = 400

        self.mdi = QMdiArea()
        self.setCentralWidget(self.mdi)

        self.skill_labels = []

        self.skill_window = QMdiSubWindow(self)
        self.skill_window.hide()

        self.initUI()

    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(400, 400, self.height, self.width)

        self.create_skill_labels(self.skill_window, rage, shatter, destroy,
                                 kill)

        switch_on_off = QPushButton('Show/Hide', self.skill_window)
        switch_on_off.move(150, 100)
        switch_on_off.clicked.connect(self.show_hide)

        self.skill_window.setGeometry(0, 0, self.height, self.width)
        self.skill_window.setWindowFlags(self.skill_window.windowFlags()
                                         | Qt.FramelessWindowHint)
        self.skill_window.show()
        self.show()

    def show_hide(self):
        for label in self.skill_labels:
            # Labels could have their own methods to hide/show for convenience
            if label.visible:
                label.new_label.hide()
                label.visible = False
            else:
                label.new_label.show()
                label.visible = True

    def create_skill_labels(*args):
        window = args[0]
        skill_list = [x for x in args[2:]]
        label_x = 100
        label_y = 100
        for skill in skill_list:
            skill_label = NewLabel(window, skill.name, skill.image, label_x,
                                   label_y)
            label_y += 50
            window.skill_labels.append(skill_label)
Пример #5
0
    def showWindow(self):
        # 创建一个新的窗口
        subwindow = QMdiSubWindow()

        # 为子窗口添加组件
        self.browser = QWebEngineView()
        subwindow.setGeometry(0, 0, 1200, 600)
        # 加载外部的web界面
        self.browser.load(QUrl('http://sso.lzad.cc/#/'))

        subwindow.setWindowTitle('落地页')
        subwindow.setWidget(self.browser)
        # 将字窗口添加到区域QmdiArea
        self.area.addSubWindow(subwindow)
        # 子窗口显示
        subwindow.show()
Пример #6
0
def setUpGraphicsViewSubWindow(self):
    """
    This function creates a subwindow with a vertical layout &
    a missing image label.

    Input Parameters
    ****************
    self - an object reference to the WEASEL interface.

    Output Parameters
    *****************
    layout - PyQt5 QVBoxLayout vertical layout box
    lblImageMissing - Label displaying the text 'Missing Image'. Hidden 
                        until WEASEL tries to display a missing image
    subWindow - An QMdiSubWindow subwindow
    """
    try:
        logger.info("DisplayImageDrawRIO.setUpGraphicsViewSubWindow called")
        subWindow = QMdiSubWindow(self)
        subWindow.setObjectName = 'image_viewer'
        subWindow.setWindowFlags(Qt.CustomizeWindowHint
                                 | Qt.WindowCloseButtonHint
                                 | Qt.WindowMinimizeButtonHint)

        height, width = self.getMDIAreaDimensions()
        subWindow.setGeometry(0, 0, width * 0.6, height)
        self.mdiArea.addSubWindow(subWindow)

        layout = QVBoxLayout()
        widget = QWidget()
        widget.setLayout(layout)
        subWindow.setWidget(widget)

        lblImageMissing = QLabel("<h4>Image Missing</h4>")
        lblImageMissing.hide()
        layout.addWidget(lblImageMissing)
        hbox = QHBoxLayout()
        hbox.setContentsMargins(0, 0, 0, 0)
        layout.addLayout(hbox)
        subWindow.show()
        return hbox, layout, lblImageMissing, subWindow
    except Exception as e:
        print('Error in DisplayImageDrawRIO.setUpGraphicsViewSubWindow: ' +
              str(e))
        logger.error(
            'Error in DisplayImageDrawRIO.setUpGraphicsViewSubWindow: ' +
            str(e))
Пример #7
0
    def __init__(self):
        super(LitterariusHome, self).__init__()
        ui = Litterarius_ui.Ui_Dialog()
        ui.setupUi(self)
        ui.btnManter.clicked.connect(self.clickedManter)

        janelaManter = QMdiSubWindow()
        manter = Manter()
        movimentacao = MenuMovimentacao()
        janelaManter.setWidget(movimentacao)
        janelaManter.setGeometry(0, 0, 780, 500)

        ui.mdiArea.addSubWindow(janelaManter)

        # janelaManter.show ()

        self.show()
Пример #8
0
    def createCANTableSubWindow(self):
        self.can_table = QTableWidget(50, 9)

        sub = QMdiSubWindow()
        sub.setWidget(self.can_table)
        sub.setWindowTitle("Raw CAN Frames")
        self.mdi.addSubWindow(sub)
        sub.setGeometry(0, 0, 400, 800)

        self.can_table.verticalHeader().hide()
        self.can_table.setHorizontalHeaderItem(0, QTableWidgetItem("ID"))
        self.can_table.setColumnWidth(0, 10)
        for i in range(1, 9):
            item = QTableWidgetItem(str(i - 1))
            self.can_table.setHorizontalHeaderItem(i, item)
            self.can_table.setColumnWidth(i, 10)

        sub.show()
Пример #9
0
    def loadDBCFile(self, file_path):
        dbc_win = DBCRecvWindow(file_path, self)
        sub = QMdiSubWindow()
        sub.setWidget(dbc_win)
        sub.setGeometry(100, 100, 500, 500)
        self.mdi.addSubWindow(sub)
        sub.show()

        dbc_send_win = DBCSendWindow(file_path, self)
        sub2 = QMdiSubWindow()
        sub2.setWidget(dbc_send_win)
        sub2.setGeometry(100, 100, 500, 500)
        self.mdi.addSubWindow(sub2)
        sub2.show()

        self.config["RecentDBCs"][os.path.basename(file_path)] = file_path
        self.recentDBCFiles[os.path.basename(file_path)] = file_path
        self.dbc_path = os.path.split(file_path)[0]
        self.saveConfig()
Пример #10
0
class Example(QMainWindow):
    def __init__(self, parent=parent):
        super().__init__(self, parent)
        screen_resolution = app.desktop().screenGeometry()
        width, height = screen_resolution.width(), screen_resolution.height()

        self.initUI()

    def initUI(self):

        self.statusBar().showMessage('Ready')

        self.btn = QPushButton("Button", self)
        self.btn.setToolTip("Test Button")
        self.btn.setIcon(QIcon("/home/hsa/PycharmProjects/test12/home-6x.png"))
        #btn.setIconSize(QSize(24,24))
        self.btn.move(50, 50)
        self.btn.clicked.connect(self.on_clicked)

        self.setGeometry(0, 0, width, height)
        self.setWindowTitle('MainWindow')
        #self.mysubwindow()

    def mysubwindow(self):
        self.mdi = QMdiArea()
        self.setCentralWidget(self.mdi)
        self.sub = QMdiSubWindow()
        self.sub.setGeometry(10, 10, width - 30, height - 100)
        self.tabbar = QTabBar()
        self.sub.setWidget(self.tabbar)
        self.tabbar.addTab("Test1")
        self.tabbar.addTab("Test2")
        self.sub.setWindowTitle("subwindow")
        self.mdi.addSubWindow(self.sub)
        self.sub.show()

    @pyqtSlot()
    def on_clicked(self):
        print("Button clicked")