私があなたの質問を正しく理解していれば、次のようなものが必要です。
各行にはウィジェットのカスタム セットが含まれています。
これを実現するには、2 つの手順を実行します。
カスタム ウィジェットを使用して行を実装する
まず、リスト行ごとに必要なすべてのウィジェットを含むカスタム ウィジェットを実装します。
ここでは、水平レイアウトで、1 行に 1 つのラベルと 2 つのボタンを使用しています。
class MyCustomWidget(QWidget):
def __init__(self, name, parent=None):
super(MyCustomWidget, self).__init__(parent)
self.row = QHBoxLayout()
self.row.addWidget(QLabel(name))
self.row.addWidget(QPushButton("view"))
self.row.addWidget(QPushButton("select"))
self.setLayout(self.row)
リストに行を追加する
複数の行のインスタンス化は、ウィジェット アイテムを作成するだけの問題であり、カスタム ウィジェットをアイテムの行に関連付けます。
# Create the list
mylist = QListWidget()
# Add to list a new item (item is simply an entry in your list)
item = QListWidgetItem(mylist)
mylist.addItem(item)
# Instanciate a custom widget
row = MyCustomWidget()
item.setSizeHint(row.minimumSizeHint())
# Associate the custom widget to the list entry
mylist.setItemWidget(item, row)