PyBitmessage-2021-04-27/src/bitmessageqt/retranslateui.py

24 lines
1.0 KiB
Python

"""RetranslateMixin module.
"""
# pylint: disable=too-few-public-methods
from PyQt4 import QtGui
import widgets
class RetranslateMixin(object):
"""RetranslateMixin class for dynamically change language during runtime."""
def retranslateUi(self):
defaults = QtGui.QWidget()
widgets.load(self.__class__.__name__.lower() + '.ui', defaults)
for attr, value in defaults.__dict__.iteritems():
setTextMethod = getattr(value, "setText", None)
if callable(setTextMethod):
getattr(self, attr).setText(getattr(defaults, attr).text())
elif isinstance(value, QtGui.QTableWidget):
for i in range(value.columnCount()):
getattr(self, attr).horizontalHeaderItem(i).setText(
getattr(defaults, attr).horizontalHeaderItem(i).text())
for i in range(value.rowCount()):
getattr(self, attr).verticalHeaderItem(i).setText(
getattr(defaults, attr).verticalHeaderItem(i).text())