Пример #1
0
 def openContextMenu(self, point):
     contextMenu= QTextBrowser(self).createStandardContextMenu()
     if namespace.no_email_link and namespace.no_url_link:
         contextMenu.actions()[1].setVisible(False)
     elif len(self.selectedText()):
         contextMenu.actions()[0].setEnabled(True)
         contextMenu.actions()[0].triggered.connect(partial(app.clipboard().setText, self.selectedText().replace("−", "-")))
     elif self.anchorAt(point):
         contextMenu.actions()[1].setEnabled(True)
         contextMenu.actions()[1].triggered.connect(partial(app.clipboard().setText, self.anchorAt(point)))
     contextMenu.addSeparator()
     contextMenu.addAction(QAction(ManPagesGUI.randomPage, self, triggered= partial(self.openPage, None, 1)))
     contextMenu.exec_(self.mapToGlobal(point))
Пример #2
0
        def install():
            def done():
                show_label.setText('<p>安装完成</p>')
                exit_button.setDisabled(False)
                message.append('安装完成。')

            dialog = QDialog()
            dialog.resize(600, 600)
            dialog.setWindowFlags(Qt.WindowStaysOnTopHint
                                  | Qt.FramelessWindowHint)
            dialog.setWindowTitle('TkPy3安装')
            layout = QVBoxLayout()
            title_label = QLabel()
            show_label = QLabel()
            message = QTextBrowser()
            exit_button = QPushButton()
            load_processbar = LoadWidget()
            title_label.setText('<h1>TkPy3安装</h1>')
            exit_button.setText('退出')
            exit_button.setDisabled(True)
            layout.addWidget(title_label, 0)
            layout.addWidget(show_label)
            layout.addWidget(message)
            layout.addWidget(exit_button)
            message.addAction(QAction(load_processbar))
            dialog.setLayout(layout)
            install_packages = []
            for i in range(self.view_list.count()):
                install_packages.append(self.view_list.item(i).text())

            self.close()
            self.install_process.start()
            message.append('开始安装。')
            exit_button.clicked.connect(dialog.close)
            self.install_process.falsed.connect(
                lambda p: message.append(f'Package {p} 安装失败。'))
            self.install_process.ok.connect(
                lambda p: message.append(f'Package {p} 安装成功。'))
            self.install_process.package_name.connect(lambda text: (
                show_label.setText(f'<h3>正在安装中... ...</h3><p>正在安装: {text}</p>'
                                   ), message.append(f'安装 {text}')))
            self.install_process.done.connect(done)
            dialog.exec_()