「Qtのコントロール - テーブル」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
(ページの作成:「== 概要 == Qtにおいて、QTableWidgetクラスを使用してテーブルをコントロールする手順を記載する。<br> <br><br> == テーブルの設定 =…」)
 
(文字列「presire220a-22」を「presire2-22」に置換)
 
(同じ利用者による、間の3版が非表示)
72行目: 72行目:
# <code>setItemDelegate</code>メソッドでデリゲートを適用する。
# <code>setItemDelegate</code>メソッドでデリゲートを適用する。
<br>
<br>
* スピンボックス
スピンボックスについて詳細を知りたい場合は、/<Qtのインストールディレクトリ>/examples/itemviews/spinboxdelegateディレクトリ、および、以下に示す書籍を参照すること。<br>
*: 書籍 : [http://www.amazon.co.jp/gp/product/487311344X/ref=as_li_tf_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=487311344X&linkCode=as2&tag=arctictern265-22 入門 Qt 4 プログラミング]
<br>
*: <yjshopping querytype="isbn">978-4-87-311344-9</yjshopping>
<center>
*: Qtのインストールディレクトリにあるexamples/itemviews/spinboxdelegate
{| class="wikitable" | style="background-color:#fefefe;"
*: <br>
|-
* コンボボックス
! style="text-align: center; background-color:#44CC99;" | 参考書
*: [http://qt-project.org/wiki/Combo_Boxes_in_Item_Views Combo Boxes in Item Views]
|- style="text-align: center;"
| <html><a href="https://www.amazon.co.jp/%E5%85%A5%E9%96%80-Qt-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-Jasmin-Blanchette/dp/487311344X?keywords=%E5%85%A5%E9%96%80qt4%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&linkCode=ll1&tag=presire2-22&linkId=2c7e047dacbd7c058b419649328f446b&language=ja_JP&ref_=as_li_ss_tl" target="_blank"><img style="width: 250px; height: auto;" src="https://m.media-amazon.com/images/I/51fYkkbMiiL.jpg" ></a><br>
<center><a target="_blank" href="https://www.amazon.co.jp/%E5%85%A5%E9%96%80-Qt-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-Jasmin-Blanchette/dp/487311344X?keywords=%E5%85%A5%E9%96%80qt4%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&linkCode=ll1&tag=presire2-22&linkId=2c7e047dacbd7c058b419649328f446b&language=ja_JP&ref_=as_li_ss_tl">入門Qt 4プログラミング</a></center></html>
|}
</center>
<br>
コンボボックスについて詳細を知りたい場合は、Qtの公式Webサイトを参照すること。<br>
Combo Boxes in Item Views : http://qt-project.org/wiki/Combo_Boxes_in_Item_Views<br>
<br><br>
<br><br>
{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:Qt]]
[[カテゴリ:Qt]]

2024年11月23日 (土) 17:47時点における最新版

概要

Qtにおいて、QTableWidgetクラスを使用してテーブルをコントロールする手順を記載する。


テーブルの設定

Qt Designerにおいて、テーブルコントロールを配置して、コントロールIDを"Table"としている。

 Table->clear();
 
 // テーブルサイズを決定
 Table->setColumnCount(3);
 Table->setRowCount(20);
 	
 // 列のタイトル文字列を指定
 QStringList listTitle = {"タイトル1", "タイトル2", "タイトル3"};
 Table->setHorizontalHeaderLabels(listTitle);
 
 // セルを埋める
 Table->setItem(0, 0, new QTableWidgetItem(何かテキスト);
 Table->setItem(0, 1, new QTableWidgetItem(""));
 Table->setItem(0, 2, new QTableWidgetItem(""));
 
 // 行の高さを指定する
 // 各行ごとに指定する必要がある
 Table->setRowHeight(0, 20);
 
 // 1行選択モードに設定
 Table->setSelectionMode(QAbstractItemView::ContiguousSelection);
 Table->setSelectionBehavior(QAbstractItemView::SelectRows);



セルの文字列の取得

 Table->item(<>, <>)->text()



アイコンをセルに表示

 // セルのアイテムを取得する
 QTableWidgetItem *pItem = tableWidget->item(<>, <>);
 
 // リソースにアイコンが登録されている場合
 pItem->setIcon(QIcon(":/icons/icon.png"));



指定したアイテムまでスクロール

 // セルのアイテムを取得
 QTableWidgetItem *pItem = tableWidget->item(<>, <>);
 tableWidget->scrollToItem( pItem );



セルにコントロールを埋め込む

チェックボックスをセルに埋め込む場合、QTableWidgetItemクラスのsetCheckStateメソッドを使用する。

 QTableWidgetItem *pItemCheck = new QTableWidgetItem();
 
 // チェックボックスを入力状態で表示する場合、Qt::Checkedを指定する
 // チェックボックスを未入力状態で表示する場合、Qt::Uncheckedを指定する
 pItemCheck->setCheckState(Qt::Checked);


その他のコントロールをセルに埋め込む場合は、以下のWebサイトを参照すること。
基本的には、以下の手順を行う。

  1. QStyledItemDelegateクラスを継承した派生クラスを作成する。
  2. いくつかの仮想関数をオーバーライドする。
  3. オーバーライドしたメソッドで、セルの表示やコントロールとのデータのやり取りを規定する。
  4. setItemDelegateメソッドでデリゲートを適用する。


スピンボックスについて詳細を知りたい場合は、/<Qtのインストールディレクトリ>/examples/itemviews/spinboxdelegateディレクトリ、および、以下に示す書籍を参照すること。

参考書
51fYkkbMiiL.jpg
入門Qt 4プログラミング


コンボボックスについて詳細を知りたい場合は、Qtの公式Webサイトを参照すること。
Combo Boxes in Item Views : http://qt-project.org/wiki/Combo_Boxes_in_Item_Views