假设ex1.py包含:
exec(open('ex2.py').read())
和ex2.py包含:
from PyQt5.QtWidgets import *
class HelloWindow(QWidget):
def __init__(self):
QWidget.__init__(self)
self.x = "وه شه نی گیان" #some Unicode words
self.y = "قوربانه ت" #some Unicode words
self.setWindowTitle(self.x)
gridLayout = QGridLayout(self)
self.title = QLabel(self.y)
gridLayout.addWidget(self.title, 0, 0)
self.setLayout(gridLayout)
app = QApplication([])
mainWin = HelloWindow()
mainWin.resize(400,200)
mainWin.show()
app.exec_()
环境:windows 7 64位、python 3.7.4、pyqt 5.12.2
打开cmd并运行(pythonex2.py)可以正确地显示标题和标签中的Unicode文本,而且工作正常;但是运行(pythonex1.py)会破坏文本编码。你知道吗
使用kivy而不是pyqt5可以得到相同的结果。我相信不是pyqt5的虫子, 以上两种方法在ubuntu18中都非常有效。你知道吗
使用import而不是exec解决了这个问题,但我不希望这样,因为我必须再次导入每个脚本文件中的所有内容,而且我有大量的脚本文件。有谁能告诉我如何克服这个问题吗? 先谢谢你。你知道吗
exec(open('ex2.py', encoding='utf-8').read())
相关问题 更多 >
编程相关推荐