您的位置:首页 > 编程语言 > Qt开发

QListWidget QTreeWidget QTableWidget的使用

2015-04-08 14:45 417 查看
QTableWidget整理
//设置表头
ui->tableWidget->setRowCount(7);
ui->tableWidget->setColumnCount(5);
QStringList headLists;
headLists<<tr("序号")<<tr("区域")<<tr("区域名称")<<tr("上级区域ID")<<tr("区域编码");
ui->tableWidget->setHorizontalHeaderLabels(headLists);

//自适应
ui->tableWidget->resizeColumnsToContents();
ui->tableWidget->resizeRowsToContents();
//最后一行,一列延伸至窗口

ui->tableWidget->horizontalHeader()->setStretchLastSection(true);
ui->tableWidget->verticalHeader()->setStretchLastSection(true);
//隐藏表头

ui->tableWidget->verticalHeader()->setVisible(false);

QTreeWidget整理
//树形的父与子之间的选择
void Widget::itemChanged_slot(QTreeWidgetItem *item, int column)
{
//如果选中
if(Qt::Checked == item->checkState(0))
{
//如果有孩子节点
for(int i = 0;i < item->childCount();i++)
{
//设置孩子节点状态
item->child(i)->setCheckState(0,Qt::Checked);
//如果孩子节点还有子节点
for(int j = 0;j < item->child(i)->childCount();j++)
{
//设置孩子节点的子节点状态
item->child(i)->child(j)->setCheckState(0,Qt::Checked);
//如果孩子节点的子节点还有子节点
for(int k = 0;k < item->child(i)->child(j)->childCount();k++)
{
//设置孩子节点的子节点的子节点的状态
item->child(i)->child(k)->child(k)->setCheckState(0,Qt::Checked);
}
}
}
}
//如果为选中
else if(Qt::Unchecked == item->checkState(0))
{
//如果有孩子节点
for(int i = 0;i < item->childCount();i++)
{
//设置孩子节点状态
item->child(i)->setCheckState(0,Qt::Unchecked);
//如果孩子节点还有子节点
for(int j = 0;j < item->child(i)->childCount();j++)
{
//设置孩子节点的子节点状态
item->child(i)->child(j)->setCheckState(0,Qt::Unchecked);
//如果孩子节点的子节点还有子节点
for(int k = 0;k < item->child(i)->child(j)->childCount();k++)
{
//设置孩子节点的子节点的子节点的状态
item->child(i)->child(k)->child(k)->setCheckState(0,Qt::Unchecked);
}
}
}
}
}

//使得该控件可编辑(没起作用)
ui->treeWidget->setEditTriggers(QAbstractItemView::DoubleClicked);
//隐藏头
ui->treeWidget->header()->setHidden(true);
//虚线(没起作用)
ui->treeWidget->setRootIsDecorated(true);

QTreeWidgetItem* systemItem = new QTreeWidgetItem(ui->treeWidget,QStringList(tr("系统")));
systemItem->setIcon(0,QIcon(":/images/region.png"));
//利用自带复选框
systemItem->setCheckState(0,Qt::Unchecked);
//可编辑,利用复选框,用户与其交互,能够被选择
systemItem->setFlags(Qt::ItemIsEditable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);

QTreeWidgetItem* jsItem = new QTreeWidgetItem(systemItem,QStringList(tr("江苏")));
systemItem->addChild(jsItem);
jsItem->setIcon(0,QIcon(":/images/root.png"));
jsItem->setCheckState(0,Qt::Unchecked);
QTreeWidgetItem* glItem = new QTreeWidgetItem(jsItem,QStringList(tr("鼓楼")));
jsItem->addChild(glItem);
glItem->setIcon(0,QIcon(":/images/root.png"));
glItem->setCheckState(0,Qt::Unchecked);
QTreeWidgetItem* splItem = new QTreeWidgetItem(glItem,QStringList(tr("三牌楼")));
glItem->addChild(splItem);
splItem->setIcon(0,QIcon(":/images/root.png"));
splItem->setCheckState(0,Qt::Unchecked);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  QT widget整理