網(wǎng)站首頁 編程語言 正文
文章目錄
總結(jié)一些常用表的用法
QListWidget
的用法
void TableWidget::initListWidget()
{
//插入方法1
ui->listWidget->addItem("Program Files");
//插入方法2
QListWidgetItem* pInsertItem = new QListWidgetItem();
pInsertItem->setText("Program Files(x64)");
ui->listWidget->insertItem(1,pInsertItem);
ui->listWidget->insertItem(2,"Program Files(x64)副本");
ui->listWidget->insertItems(3,QStringList()<<
QStringLiteral("Program Files(x64)副本1")<<
QStringLiteral("Program Files(x64)副本2"));
//插入方法3
ui->listWidget->addItem("ProgramData");
QListWidgetItem* pAdditem = new QListWidgetItem();
pAdditem->setText("ProgramData副本");
ui->listWidget->addItem(pAdditem);
ui->listWidget->addItems(QStringList()
<< QStringLiteral("ProgramData副本1")
<< QStringLiteral("ProgramData副本2")
<< QStringLiteral("ProgramData副本3"));
//設(shè)置圖標(biāo)
pInsertItem->setIcon(QIcon(":/image/folder.ico"));
pAdditem->setIcon(QIcon(":/image/folder.ico"));
//設(shè)置勾選狀態(tài)
pInsertItem->setCheckState(Qt::Checked);
pAdditem->setCheckState(Qt::Unchecked);
}
QListView
的用法
void TableWidget::initListView()
{
QStandardItemModel* pModel = new QStandardItemModel();
//插入方法1
QStandardItem* pItem = new QStandardItem("Program Files");
pModel->appendRow(pItem);
//插入方法2
pItem = new QStandardItem();
pItem->setText("Program Files(x64)");
pItem->setIcon(QIcon(":/image/folder.ico"));
pItem->setCheckState(Qt::Checked);
pItem->setCheckable(true);//和QListWidget不同,需要手動開啟,默認(rèn)是不可選的
pModel->insertRow(1,pItem);
//設(shè)置model
ui->listView->setModel(pModel);
}
QTableWidget
的用法
void TableWidget::initTableWidget()
{
#if 1
//方式1
QStringList hearList;
hearList<<QStringLiteral("編號")<<QStringLiteral("類型")<<QStringLiteral("距離")<<QStringLiteral("狀態(tài)");
//設(shè)置列數(shù)
ui->tableWidget->setColumnCount(4);
//添加表頭數(shù)據(jù)
ui->tableWidget->setHorizontalHeaderLabels(hearList);
//隱藏列表頭
ui->tableWidget->verticalHeader()->setHidden(true);
//自適應(yīng)
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
for(int i = 0; i < 5; i++)
{
int nRow = ui->tableWidget->rowCount();
ui->tableWidget->insertRow(nRow);
ui->tableWidget->setItem(nRow,0,new QTableWidgetItem("12"));
ui->tableWidget->setItem(nRow,1,new QTableWidgetItem("12"));
ui->tableWidget->setItem(nRow,2,new QTableWidgetItem("12"));
ui->tableWidget->setItem(nRow,3,new QTableWidgetItem("12"));
ui->tableWidget->item(nRow,0)->setTextAlignment(Qt::AlignCenter);
ui->tableWidget->item(nRow,1)->setTextAlignment(Qt::AlignCenter);
ui->tableWidget->item(nRow,2)->setTextAlignment(Qt::AlignCenter);
ui->tableWidget->item(nRow,3)->setTextAlignment(Qt::AlignCenter);
}
#else
//方式2
//設(shè)置列數(shù)
ui->tableWidget->setColumnCount(4);
ui->tableWidget->setHorizontalHeaderItem(0,new QTableWidgetItem("編號"));
ui->tableWidget->setHorizontalHeaderItem(1,new QTableWidgetItem("類型"));
ui->tableWidget->setHorizontalHeaderItem(2,new QTableWidgetItem("距離"));
ui->tableWidget->setHorizontalHeaderItem(3,new QTableWidgetItem("狀態(tài)"));
//隱藏列表頭
ui->tableWidget->verticalHeader()->setHidden(true);
//自適應(yīng)
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
for(int i = 0; i < 5; i++)
{
int nRow = ui->tableWidget->rowCount();
ui->tableWidget->insertRow(nRow);
ui->tableWidget->setItem(nRow,0,new QTableWidgetItem("12"));
ui->tableWidget->setItem(nRow,1,new QTableWidgetItem("12"));
ui->tableWidget->setItem(nRow,2,new QTableWidgetItem("12"));
ui->tableWidget->setItem(nRow,3,new QTableWidgetItem("12"));
ui->tableWidget->item(nRow,0)->setTextAlignment(Qt::AlignCenter);
ui->tableWidget->item(nRow,1)->setTextAlignment(Qt::AlignCenter);
ui->tableWidget->item(nRow,2)->setTextAlignment(Qt::AlignCenter);
ui->tableWidget->item(nRow,3)->setTextAlignment(Qt::AlignCenter);
}
#endif
}
QTableView
的用法
void TableWidget::initTableView()
{
#if 0
//方式1
QStandardItemModel* pModel = new QStandardItemModel;
QStringList hearList2;
hearList2<<QStringLiteral("商品序號")<<QStringLiteral("商品庫存")<<QStringLiteral("商品成本")<<QStringLiteral("商品售價");
//添加表頭數(shù)據(jù)
pModel->setHorizontalHeaderLabels(hearList2);
//設(shè)置列數(shù)
pModel->setColumnCount(4);
//隱藏列表頭
ui->tableView->verticalHeader()->setHidden(true);
//設(shè)置model
ui->tableView->setModel(pModel);
//自適應(yīng)
ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
for(int i = 0; i < 5; i++)
{
pModel->setItem(i,0,new QStandardItem("23"));
pModel->setItem(i,1,new QStandardItem("45"));
pModel->setItem(i,2,new QStandardItem("5"));
pModel->setItem(i,3,new QStandardItem("56"));
pModel->item(i,0)->setTextAlignment(Qt::AlignCenter);
pModel->item(i,1)->setTextAlignment(Qt::AlignCenter);
pModel->item(i,2)->setTextAlignment(Qt::AlignCenter);
pModel->item(i,3)->setTextAlignment(Qt::AlignCenter);
}
#else
//方式2
QStandardItemModel* pModel = new QStandardItemModel(0, 4, this);
pModel->setHeaderData(0, Qt::Horizontal, QObject::tr("商品序號"));
pModel->setHeaderData(1, Qt::Horizontal, QObject::tr("商品庫存"));
pModel->setHeaderData(2, Qt::Horizontal, QObject::tr("商品成本"));
pModel->setHeaderData(3, Qt::Horizontal, QObject::tr("商品售價"));
//設(shè)置model
ui->tableView->setModel(pModel);
//隱藏列表頭
ui->tableView->verticalHeader()->setHidden(true);
ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
for(int i = 0; i < 5; i++)
{
pModel->setItem(i,0,new QStandardItem("23"));
pModel->setItem(i,1,new QStandardItem("45"));
pModel->setItem(i,2,new QStandardItem("5"));
pModel->setItem(i,3,new QStandardItem("56"));
pModel->item(i,0)->setTextAlignment(Qt::AlignCenter);
pModel->item(i,1)->setTextAlignment(Qt::AlignCenter);
pModel->item(i,2)->setTextAlignment(Qt::AlignCenter);
pModel->item(i,3)->setTextAlignment(Qt::AlignCenter);
}
#endif
}
QTreeWidget
的用法
void TableWidget::initTreeWidget()
{
#if 1
//方式1
ui->treeWidget->setHeaderHidden(true);
QTreeWidgetItem *topLevel = new QTreeWidgetItem();
topLevel->setText(0, QStringLiteral("中國"));
topLevel->setCheckState(0, Qt::Checked);
topLevel->setIcon(0, QIcon(":/image/folder.ico"));
//北京
QTreeWidgetItem *pItemBJ = new QTreeWidgetItem();
pItemBJ->setText(0, QStringLiteral("北京"));
pItemBJ->setCheckState(0, Qt::Checked);
QTreeWidgetItem *file1 = new QTreeWidgetItem();
file1->setText(0, "西城區(qū)");
file1->setCheckState(0, Qt::Checked);
QTreeWidgetItem *file2 = new QTreeWidgetItem();
file2->setText(0, "海定區(qū)");
file2->setCheckState(0, Qt::Checked);
pItemBJ->addChild(file1);
pItemBJ->addChild(file2);
QTreeWidgetItem *pItemSH = new QTreeWidgetItem();
pItemSH->setText(0, QStringLiteral("上海"));
pItemSH->setCheckState(0, Qt::Checked);
QTreeWidgetItem *file3 = new QTreeWidgetItem();
file3->setText(0, "黃浦區(qū)");
file3->setCheckState(0, Qt::Checked);
pItemSH->addChild(file3);
QTreeWidgetItem *pItemSX = new QTreeWidgetItem();
pItemSX->setText(0, QStringLiteral("陜西"));
pItemSX->setCheckState(0, Qt::Checked);
QTreeWidgetItem *file4 = new QTreeWidgetItem();
file4->setText(0, "渭南市");
file4->setCheckState(0, Qt::Checked);
QTreeWidgetItem *file5 = new QTreeWidgetItem();
file5->setText(0, "咸陽市");
file5->setCheckState(0, Qt::Checked);
QTreeWidgetItem *pItemXA = new QTreeWidgetItem();
pItemXA->setText(0, "西安市");
pItemXA->setCheckState(0, Qt::Checked);
QTreeWidgetItem *file6 = new QTreeWidgetItem();
file6->setText(0, "雁塔區(qū)");
file6->setCheckState(0, Qt::Checked);
pItemXA->addChild(file6);
pItemSX->addChild(file4);
pItemSX->addChild(file5);
pItemSX->addChild(pItemXA);
QList<QTreeWidgetItem*> topLevelItemList;
topLevelItemList << pItemBJ << pItemSH << pItemSX;
topLevel->addChildren(topLevelItemList);
ui->treeWidget->addTopLevelItem(topLevel);
connect(ui->treeWidget,SIGNAL(itemChanged(QTreeWidgetItem*,int)),this,SLOT(itemChangedSlot(QTreeWidgetItem*,int)));
#else
//方式2--一般用于右鍵彈菜單
ui->treeWidget->setHeaderHidden(true);
QTreeWidgetItem* topLevel = new QTreeWidgetItem(QStringList(tr("中國")),TopCategory);
topLevel->setCheckState(0, Qt::Checked);
topLevel->setIcon(0, QIcon(":/image/folder.ico"));
//北京
QTreeWidgetItem* pItemBJ = new QTreeWidgetItem(QStringList(tr("北京")),SecondCategory);
pItemBJ->setCheckState(0, Qt::Checked);
QTreeWidgetItem* item1 = new QTreeWidgetItem(QStringList(tr("西城區(qū)")),ThirdCategory);
item1->setCheckState(0, Qt::Checked);
QTreeWidgetItem *item2 = new QTreeWidgetItem(QStringList(tr("海定區(qū)")),ThirdCategory);
item2->setCheckState(0, Qt::Checked);
pItemBJ->addChild(item1);
pItemBJ->addChild(item2);
topLevel->addChild(pItemBJ);
QTreeWidgetItem *pItemSH = new QTreeWidgetItem(QStringList(tr("上海")),SecondCategory);
pItemSH->setCheckState(0, Qt::Checked);
QTreeWidgetItem *item3 = new QTreeWidgetItem(QStringList(tr("黃浦區(qū)")),ThirdCategory);
item3->setCheckState(0, Qt::Checked);
pItemSH->addChild(item3);
topLevel->addChild(pItemSH);
QTreeWidgetItem *pItemSX = new QTreeWidgetItem(QStringList(tr("陜西省")),SecondCategory);
pItemSX->setCheckState(0, Qt::Checked);
QTreeWidgetItem *item4 = new QTreeWidgetItem(QStringList(tr("渭南市")),ThirdCategory);
item4->setCheckState(0, Qt::Checked);
pItemSX->addChild(item4);
QTreeWidgetItem *item5 = new QTreeWidgetItem(QStringList(tr("咸陽市")),ThirdCategory);
item5->setCheckState(0, Qt::Checked);
pItemSX->addChild(item5);
QTreeWidgetItem *pItemXA = new QTreeWidgetItem(QStringList(tr("西安市")),ThirdCategory);
pItemXA->setCheckState(0, Qt::Checked);
QTreeWidgetItem *item6 = new QTreeWidgetItem(QStringList(tr("雁塔區(qū)")),FourthCategory);
item6->setCheckState(0, Qt::Checked);
pItemXA->addChild(item6);
pItemSX->addChild(pItemXA);
topLevel->addChild(pItemSX);
ui->treeWidget->addTopLevelItem(topLevel);
#endif
}
QTreeView
的用法
void TableWidget::initTreeView()
{
//和QTreeWidget基本一樣----是QTreeWidget父類
QStandardItemModel* model = new QStandardItemModel(ui->treeView);
model->setHorizontalHeaderLabels(QStringList()<<QStringLiteral("地名")<<QStringLiteral("說明"));
QStandardItem* topLevel = new QStandardItem(QStringLiteral("中國"));
topLevel->setCheckable(true);
topLevel->setIcon(QIcon(":/image/folder.ico"));
topLevel->setTristate(true);
model->appendRow(topLevel);
QStandardItem* pItemBJ = new QStandardItem(QStringLiteral("北京"));
pItemBJ->setCheckable(true);
pItemBJ->setTristate(true);
topLevel->appendRow(pItemBJ);
topLevel->setChild(pItemBJ->index().row(),1,new QStandardItem(QStringLiteral("直轄市")));
QStandardItem* item = new QStandardItem(QStringLiteral("西城區(qū)"));
item->setCheckable(true);
pItemBJ->appendRow(item);
item = new QStandardItem(QStringLiteral("海定區(qū)"));
item->setCheckable(true);
pItemBJ->appendRow(item);
QStandardItem* pItemSH = new QStandardItem(QStringLiteral("上海"));
pItemSH->setCheckable(true);
pItemSH->setTristate(true);
topLevel->appendRow(pItemSH);
topLevel->setChild(pItemSH->index().row(),1,new QStandardItem(QStringLiteral("直轄市")));
item = new QStandardItem(QStringLiteral("黃浦區(qū)"));
item->setCheckable(true);
pItemSH->appendRow(item);
QStandardItem* pItemSX = new QStandardItem(QStringLiteral("陜西省"));
pItemSX->setCheckable(true);
pItemSX->setTristate(true);
topLevel->appendRow(pItemSX);
topLevel->setChild(pItemSX->index().row(),1,new QStandardItem(QStringLiteral("省級行政區(qū)")));
item = new QStandardItem(QStringLiteral("渭南市"));
item->setCheckable(true);
pItemSX->appendRow(item);
item = new QStandardItem(QStringLiteral("咸陽市"));
item->setCheckable(true);
pItemSX->appendRow(item);
item = new QStandardItem(QStringLiteral("西安市"));
item->setCheckable(true);
item->setTristate(true);
pItemSX->appendRow(item);
QStandardItem* itemSon = new QStandardItem("雁塔區(qū)");
itemSon->setCheckable(true);
item->appendRow(itemSon);
ui->treeView->setModel(model);
connect(model,SIGNAL(itemChanged(QStandardItem*)),this,SLOT(treeItemChanged(QStandardItem*)));
}
原文鏈接:https://blog.csdn.net/qq_45893999/article/details/122520596
相關(guān)推薦
- 2023-02-25 深入理解go?reflect反射慢的原因_Golang
- 2022-04-11 error: failed to push some refs to 遠(yuǎn)程倉庫地址 怎么解決
- 2021-12-17 C++基礎(chǔ)概念講述_C 語言
- 2022-09-03 Nginx代理Redis哨兵主從配置的實(shí)現(xiàn)_nginx
- 2022-04-01 關(guān)于使用pyqt彈出消息提示框的問題_python
- 2022-05-03 C#面向?qū)ο笤O(shè)計(jì)原則之組合/聚合復(fù)用原則_C#教程
- 2022-08-02 C#中的延時函數(shù)sleep_C#教程
- 2022-05-02 python中的Numpy二維數(shù)組遍歷與二維數(shù)組切片后遍歷效率比較_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支