Beispiel #1
0
    def print_clicked(self):

        log_console = QTextEdit(self)
        log_console.setReadOnly(True)
        font = QFont('Fira')
        font.setStyleHint(QFont.Monospace, QFont.PreferDefault)
        font.setFamilies([
            'Fira', 'Source Code Pro', 'Monaco', 'Consolas', 'Monospaced',
            'Courier'
        ])
        log_console.setFont(font)
        modal = QDialog(self)
        modal_layout = QVBoxLayout(self)
        modal_layout.addWidget(log_console)

        close = QPushButton('close')
        close.setDisabled(True)
        close.clicked.connect(lambda _: modal.close())
        modal_layout.addWidget(close)

        modal.setLayout(modal_layout)
        modal.setFixedWidth(self.width() * .9)
        modal.setFixedHeight(self.height() * .9)
        modal.open()

        def fmt_log(message):
            now = datetime.datetime.now()
            return '{0} {1}'.format(now.isoformat(), message)

        def log(message):
            log_console.insertPlainText('\n' + fmt_log(message))
            log_console.ensureCursorVisible()

        def done(exception):
            if exception is not None:
                log('Failed to print due to the following error:\n')
                log_console.insertHtml(
                    '<pre style="color:red">{0}</pre>'.format(exception))
            else:
                log('Printing completed without any errors!\n')
            close.setDisabled(False)

        log_console.insertPlainText(fmt_log('Starting print thread...'))

        print_device = self.printer_select.currentText()
        self.print_thread = PrintThread(QImage(self.print_image), print_device)
        self.print_thread.log.connect(log)
        self.print_thread.done.connect(done)

        self.print_thread.start()
Beispiel #2
0
        super().__init__(parent)
        self.setupUi(self)
        self.pushButtonSingle.clicked.connect(self.single)
        self.pushButtonNetwork.clicked.connect(self.network)

    def single(self):
        self.close()
        self.gameWindow = SinglePlayer()
        self.gameWindow.exitSignal.connect(self.game_over)
        self.gameWindow.backSignal.connect(self.show)
        self.gameWindow.show()

    def network(self):
        self.close()
        self.gameWindow = NetworkConfig(main_win=self, addr=ADDR)
        self.gameWindow.show()

    def game_over(self):
        sys.exit(app.exec_())


if __name__ == '__main__':
    app = QApplication(sys.argv)
    main_win = MainWindow()
    font = QFont()
    font.setFamilies(["微软雅黑"])
    font.setPointSize(14)
    main_win.setFont(font)
    main_win.show()
    sys.exit(app.exec_())