![](/img/trans.png)
[英]AttributeError: 'PySide.QtGui.QPixmap' object has no attribute 'setDevicePixelRatio'
[英]pyside, Qt Designer, encapsulated code, and AttributeError: 'MainWindow' object has no attribute 'QtGui'
我使用Qt Designer創建.ui文件,然后使用pyside-uic轉換為.py文件(具有類Ui_MainWindow
)。 我注意不要編輯.ui或.py的警告,因為在Qt Designer中保存更新時,那里的所有更改都將被覆蓋。 所以我有自己的單獨代碼,應該使用python的super
功能從其繼承。
class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.setupUi(self)
self.assignWidgets()
self.show()
我可以更新標簽並響應按鈕等,但是我無法使用本地化翻譯內容。 上面的類的一部分是此函數:
def connecetSerialPushed(self):
self.label_connected.setText(self.QtGui.QApplication.translate(self, "Connected: Yes", None, self.QtGui.QApplication.UnicodeUTF8))
如果我只是執行一個純setText
和"Connected: Yes"
字符串,則不會出現任何錯誤。 但是執行該轉換會導致錯誤:AttributeError:'MainWindow'對象沒有屬性'QtGui'。 我不明白。.我以為我繼承了Ui_MainWindow
所有內容,包括QtGui
的導入。 我想念什么?
在單獨的代碼中,我確實
from PySide import QtGui
然后將翻譯行更改為
self.label_connected.setText(QtGui.QApplication.translate("MainWindow", "Connected: Yes", None, QtGui.QApplication.UnicodeUTF8))
謝謝雷消除我的困惑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.