カスタム qt ウィジェットをいくつか作成する必要があり、そのうちのいくつかはカスタム描画を使用します。これらのウィジェットは、会社の qt スタイルシートを介してスタイル設定する必要があります。
QMainWindow
これにより、一部のカスタム ウィジェットがまたはに適用されたスタイルシートから値を取得する必要があるという問題が発生しますQApplication
。qproperty-...
この値は、qt の公式プロパティまたはカスタムプロパティのいずれかです。
ただし、ウィジェットからそれらにアクセスするのは簡単ではありません。1つのオプションは、スタイルシート文字列を取得し、興味のある値を手動で解析/正規表現することです.qtには、公式のqtウィジェットの描画中に使用されるスタイルシートデータを解析するための機能がすでにある必要があるため、これは明らかにひどい解決策です. .
... Qt は QStyleSheetStyle と呼ばれる QStyle サブクラスを作成します。これは、通常の QStyle メソッドを介してスタイル シート情報を照会できることを意味します ...
問題 1)
この記事ではこのアイデアについて説明しますが、残念ながら実際にこれを実現する方法については詳しく説明しません。私の経験不足により、qt のソースに飛び込んだ後でも、これを行う方法を見つけることができませんでした。
問題 2)
これは、通常の qt プロパティ (カスタムqproperty-...
プロパティではなく) にのみ適用されると思います。このアプローチと比較して、それらにアクセスするためのより良い方法はありますか?
# example for retrieving qproperty-offset
def get_offset(self):
return self._offset
def set_offset(self, offset:int):
self._offset = offset
self.update()
offset = QtCore.Property(int, get_offset, set_offset)