以下のコードを使用して、listwidgetに2つのアイテムを追加しています。リストウィジェットの選択項目として「ウィークエンドプラス」を設定したいのですが、どうすればよいですか?
QStringList items;
items << "All" << "Weekend Plus" ;
ui->listWidgetTimeSet->addItems(items);
以下のコードを使用して、listwidgetに2つのアイテムを追加しています。リストウィジェットの選択項目として「ウィークエンドプラス」を設定したいのですが、どうすればよいですか?
QStringList items;
items << "All" << "Weekend Plus" ;
ui->listWidgetTimeSet->addItems(items);
あなたはこのようにそれをすることができます:
QStringList items;
items << "All" << "Weekend Plus" ;
listWidgetTimeSet->addItems(items);
listWidgetTimeSet->setCurrentRow( 1 );
しかし、それはあなたが「ウィークエンドプラスは2列目にあり、他のアイテムの場合に備えてそれを覚えておく必要がある」ということを知っていることを意味します。
またはあなたはそのようにします:
QListWidgetItem* all_item = new QListWidgetItem( "All" );
QListWidgetItem* wp_item = new QListWidgetItem( "Weekend Plus" );
listWidgetTimeSet->addItem( all_item );
listWidgetTimeSet->addItem( wp_item );
listWidgetTimeSet->setCurrentItem( wp_item );
お役に立てば幸いです。
編集:
あなたのコメントによると、アイテムビューに編集トリガーを使用することをお勧めします。追加したいものを入力してリターンキーまたはエンターキーを押すだけで、アイテムを直接追加できます。追加したアイテムが選択され、QListWidgetにアイテムとして表示されます。
listWidgetTimeSet->setEditTriggers( QAbstractItemView::DoubleClicked ); // example
詳細については、ドキュメントを参照してください。
新しいアイテムをどこかに入力したい場合は、もちろん方法もあります。行編集があり、そこに入力した名前でアイテムを追加するとします。ここで、アイテムが追加されたListWidgetをその新しいアイテムに変更する必要があります。新しいアイテムが最後の位置にあると仮定すると(最後に追加されたため)、現在の行を最後の行に変更できます。count()
(非表示のアイテムがある場合は、それもカウントされることに注意してください)
listWidgetTimeSet->setCurrentRow( listWidgetTimeSet->count() - 1 ); // size - 1 = last item
多分
ui->listWidgetTimeSet->item(1)->setSelected(true);
また試してみてください
ui->listWidgetTimeSet->setCurrentRow(1);