I want to create a simple yes/no messagebox as one executable file by python. Used pyqt5 and tried make excecutable file with pyinstaller.Got and error
TypeError: an integer is required (got type bytes).
after using command 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_())
I found the answer here in someone's comment.
Try to use the latest version compatible with python 3.8.
pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz
This solution worked for me
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With