尝试使用“pyinstaller <scriptname.py>”

我想通过python创建一个简单的是/否消息框作为一个可执行文件。使用 pyqt5 并尝试使用 pyinstaller.Got 和错误生成可执行文件


TypeError: an integer is required (got type bytes).

使用命令后pyinstaller <scriptname.py>


import sys

from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox , QDesktopWidget

from PyQt5.QtGui import QIcon

from PyQt5.QtCore import pyqtSlot


class App(QWidget):


    def __init__(self):

        super().__init__()

        self.initUI()


    def center(self):

        # geometry of the main window

        qr = self.frameGeometry()


        # center point of screen

        cp = QDesktopWidget().availableGeometry().center()


        # move rectangle's center point to screen's center point

        qr.moveCenter(cp)


        # top left of rectangle becomes top left of window centering it

        self.move(qr.topLeft())

    def initUI(self):


        self.center()


        buttonReply = QMessageBox.question(self, 'PyQt5 message', "Do you like PyQt5?",

                                           QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel, QMessageBox.Cancel)

        if buttonReply == QMessageBox.Yes:

            print('Yes clicked.')

        if buttonReply == QMessageBox.No:

            print('No clicked.')

        if buttonReply == QMessageBox.Cancel:

            print('Cancel')


        self.show()


if __name__ == '__main__':

    app = QApplication(sys.argv)

    ex = App()

    sys.exit(app.exec_())



白衣非少年
浏览 155回答 2
2回答

冉冉说

我在某人的评论中找到了答案。尝试使用与 python 3.8 兼容的最新版本。pip&nbsp;install&nbsp;https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz这个解决方案对我有用

呼如林

PyInstaller 目前不支持 3.8。我建议您使用 3.7 或更早版本构建,直到支持 python 3.8
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python