関数を見てくださいsetItemWidget
。MyListItemWidget
2つのアイコンラベルとテキストラベルを含むウィジェット(それを呼び出す)を設計でき、そのコンストラクターで2つのアイコンとテキストを提供します。次に、それをに追加できますQListWidget
。サンプルコードは次のとおりです。
QIcon icon1, icon2; // Load them
MyListItemWidget *myListItem = new MyListItemWidget(icon1, icon2, "Text between icons");
QListWidgetItem *item = new QListWidgetItem();
ui->listWidget->addItem(item);
ui->listWidget->setItemWidget(item, myListItem );
また、カスタムリストアイテムをデザインおよび表示するための最良のオプションであるを確認する必要がありQListView
ます。QItemDelegate
あなたの接続に関する編集
信号をスロットに接続するとき、それらの署名は一致する必要があります。これは、スロットが信号より多くのパラメータを持つことができないことを意味します。信号スロットのドキュメントから
信号とスロットのメカニズムはタイプセーフです。信号の署名は、受信スロットの署名と一致する必要があります。(実際、スロットは余分な引数を無視できるため、受信する信号よりも短い署名を持つ場合があります。)
これは、シグナルがQListWidgetItem *
接続に引数を持っている必要があることを意味します。
connect(list, SIGNAL(itemClicked(QListWidgetItem *)), this, SLOT(clicked(QListWidgetItem *)))