Python 3 と Qt5 を使用しています。700 を超える QLabels を使用して QWidget を設計しました。それらを変更する必要がありますが、すべてのラベルのテキストを設定するために 700 行以上を書く必要はありません。また、それらを自由に表示および非表示にする必要があります。
その変数の名前の文字列がある場合、変数をグループ化または編集する方法はありますか? Matlab の「assignin」関数のようなものを探しています。
ラベルの名前は、label_A - label_Z および label_AA - label_ZZ です。
メインクラスから ezodf をインポート
self.ui = AnalysisGui.Ui_Form()
self.ui.setupUi(self)
self.Alphabet = ["a", "b", "c", "d", "e",
"f", "g", "h", "i", "j",
"k", "l", "m", "n", "o",
"p", "q", "r", "s", "t",
"u", "v", "w", "x", "y", "z"]
for Alpha in self.Alphabet:
self.ui.findChild(QtGui.QLabel, "label_"+Alpha.upper()).SetText(Alpha.upper()+" ")
for Beta in self.Alphabet:
self.ui.findChild(QtGui.QLabel, "label_"+Alpha.upper()+Beta.upper()).SetText(Alpha.upper()+Beta.upper()+" ")
これは、ラベルがどのように定義されているかを示す AnalysisGui クラスからのものです。
self.label_A = QtGui.QLabel(Form)
self.label_A.setStyleSheet(_fromUtf8("color: rgb(0, 0, 0);\n""font: 8pt \"Calibri\";\n""background-image: url(:/Thoth/SeeThrough.png);"))
self.label_A.setObjectName(_fromUtf8("label_A"))
self.gridLayout.addWidget(self.label_A, 1, 0, 1, 1)
self.label_B = QtGui.QLabel(Form)
self.label_B.setStyleSheet(_fromUtf8("color: rgb(0, 0, 0);\n""font: 8pt \"Calibri\";\n""background-image: url(:/Thoth/SeeThrough.png);"))
self.label_B.setObjectName(_fromUtf8("label_B"))
self.gridLayout.addWidget(self.label_B, 1, 1, 1, 1)
self.label_C = QtGui.QLabel(Form)
self.label_C.setStyleSheet(_fromUtf8("color: rgb(0, 0, 0);\n""font: 8pt \"Calibri\";\n""background-image: url(:/Thoth/SeeThrough.png);"))
self.label_C.setObjectName(_fromUtf8("label_C"))
self.gridLayout.addWidget(self.label_C, 1, 2, 1, 1)
ご協力いただきありがとうございます。