私が書いたコードの一部についていくつかの意見が必要でした。私のUIは2つの列を持つQTableWidgetで構成され、2つの列の1つにQComboBoxが設定されます。列の1つに値がない場合はQTableWidgetの行を非表示にします
最初の列では、シーンで見つかった文字リグ(フルパス)のリストをセルに入力し、2番目の列はセルごとにコンボボックスを作成し、カラーオプションとして入力しますオプションはjsonファイルから来ます。
現在、私はすべての結果を表示するオプションをユーザに与えるラジオボタンを作成しようとしています。または、その特定の行のコンボボックス内にカラーオプションがない場合、それらの行を非表示にします。
私のコードで見ることができるように、カラムごとにデータを取り込んでいますので、0以外のオプションでコンボボックスを入れないうちにif not len(new_sub_name) == 0:
を入れようとしましたが、どのように隠すかコンボボックスにオプションがない行?
def populate_table_data(self):
self.sub_names, self.fullpaths = get_chars_info()
# Output Results
# self.sub_names : ['/character/nicholas/generic', '/character/mary/default']
# self.fullpaths : ['|Group|character|nicholas_generic_001', '|Group|character|mary_default_001']
# Insert fullpath into column 1
for fullpath_index, fullpath_item in enumerate(self.fullpaths):
new_path = QtGui.QTableWidgetItem(fullpath_item)
self.character_table.setItem(fullpath_index, 0, new_path)
self.character_table.resizeColumnsToContents()
# Insert colors using itempath into column 2
for sub_index, sub_name in enumerate(self.sub_names):
new_sub_name = read_json(sub_name)
if not len(new_sub_name) == 0:
self.costume_color = QtGui.QComboBox()
self.costume_color.addItems(list(sorted(new_sub_name)))
self.character_table.setCellWidget(sub_index, 1, self.costume_color)
ありがとう、私のデータをどのように投入しているのですか? – dissidia
@ディシディア。それがあなたにとってどれほど有用かはっきりしていませんが、私は少し答えを広げました。 – ekhumoro
私はそれをチェックアウトして、私のコードを帰宅するのを忘れてしまいます。しかし、それでも、 '(sub_name、fullpath)'が一緒に括弧書きされているのはなぜですか?私はこれが単純に最適化し、私のコードを短くしていると思いますか? @ディシディア。 – dissidia