Source code for pymodaq_gui.qt_utils


import os
import sys
import warnings

from qtpy import QtCore
from qtpy.QtCore import QLocale
from pymodaq_utils import logger as logger_module
from pymodaq_utils.config import Config

from pymodaq_gui.qvariant import QVariant


logger = logger_module.set_logger(logger_module.get_module_name(__file__))

config = Config()


[docs] def decode_data(encoded_data): """ Decode QbyteArrayData generated when drop items in table/tree/list view Parameters ---------- encoded_data: QByteArray Encoded data of the mime data to be dropped Returns ------- data: list list of dict whose key is the QtRole in the Model, and the value a QVariant """ data = [] ds = QtCore.QDataStream(encoded_data, QtCore.QIODevice.ReadOnly) while not ds.atEnd(): row = ds.readInt32() col = ds.readInt32() map_items = ds.readInt32() item = {} for ind in range(map_items): key = ds.readInt32() #TODO check this is fine value = QVariant() #value = None ds >> value item[QtCore.Qt.ItemDataRole(key)] = value.value() data.append(item) return data
[docs] def setLocale(): """ defines the Locale to use to convert numbers to strings representation using language/country conventions Default is English and US """ language = getattr(QLocale, config('style', 'language')) country = getattr(QLocale, config('style', 'country')) QLocale.setDefault(QLocale(language, country))