来年1月からブログタイトルを替えます。 ”俺野眼藻”、"i MemoPad"、”さぁQt野郎"、”雑記の雑記”...などなど香ばしいタイトル候補をすでに何個か考えています。どうなるか楽しみです。
はい、それでは ”QListWidgetにアイコンをセットして表示する” をやっていきます。
C++ GUI Programming with Qt4にもサンプルは載っていますが省略しすぎで余計な処理満載なので、独自のものをつかいます。
また、いつものようにQtCreaterなどでuiにGUI部品が記述済みであるとします。(QtCreaterの使い方や細かいことなどは "Qtをはじめよう" や ”リファレンス” で確認してください。)
ではコードを
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)//uiにはGUI部品が記述(QListWidgetなど) { ui->setupUi(this);//uiのGUI部品を初期化 ui->listWidget->addItem(new QListWidgetItem("item1"));//item追加 ui->listWidget->addItem(new QListWidgetItem("item2")); ui->listWidget->addItem(new QListWidgetItem("item3")); ui->listWidget->addItem(new QListWidgetItem("item4")); ui->listWidget->setIconSize(QSize(32,32));//アイコンサイズ32×32にセット QListWidgetItem *qitem;//QListWidgetにセットされている各アイテムの受け皿となる for(int i = 0; i < ui->listWidget->count(); i++) { qitem = ui->listWidget->item(i);//i行目のアイテム取り出し qitem->setIcon(QIcon("/home/ubuntu001/icon.png"));//アイコンセット } }
簡単ですね。コメントの通りです。いちいちQListWidgetItemを取り出すあたりは理解しやすくするためで、短く
ui->listWidget->item(i)->setIcon(QIcon("/home/ubuntu001/icon.png"));
のように書いても大丈夫です。
実行すると以下のようになります。