layout布局中新增删除widget
clearLayoutWidget();
if(m_pageCount>1)
{
pw = new PageWidget(this,m_pageCount);
_ui->horizontalLayout_11->addWidget(pw);
connect(pw,SIGNAL(signal_sendCurrentPage(int )),
this,SLOT(slotReshTable(int)));
}
void AlarmInfoWidget::clearLayoutWidget()
{
QLayoutItem *item = NULL;
while((item = _ui->horizontalLayout_11->takeAt(0)) != 0)
{
if(item->widget())
{
item->widget()->setParent(NULL);
}
delete item;
}
}
更改代码pro,qt相关的宏 要qmake
修改代码增加一些qt特性相关的特别是moc 相关的宏,最好重新qmake一下。以便生成相应的moc文件。
qt编译相关
- gcc 默认不使用 C++11 标准进行编译,如果要使用 C++11 编译就需要增加编译器参数 -std=c++0x;另外也可以在 pro 文件中增加 CONFIG += c++11,
qt4 和qt5 treewidget 显示水平的滚动条
#if QT_VERSION < 0x050000
ui->treeTask->header()->setResizeMode(QHeaderView::ResizeToContents);
#else
ui->treeTask->header()->setSectionResizeMode(QHeaderView::ResizeToContents); //列宽自适应
#endif
ui->treeTask->header()->setStretchLastSection(false); /*设置表格是否充满,即行末不留空*/
QTablewidget
QStringList headList;
headList<<"No"<<"Name"<<"Total"<<"Percent";
m_table->setColumnCount(headList.length());
m_table->setHorizontalHeaderLabels(headList);
m_table->verticalHeader()->setVisible(false);//隐藏行号
m_table->verticalHeader()->setDefaultSectionSize(m_itemHeight);//默认行高
// 需加 #include <QHeaderView>
//m_table->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);//自动分均每列列宽
//m_table->horizontalHeader()->setMinimumSectionSize(100);//默认列宽
m_table->setColumnWidth(0,200);//设置第0列列宽
m_table->horizontalHeader()->setDefaultAlignment(Qt::AlignCenter);//表头居中对齐
m_table->horizontalHeaderItem(0)->setTextAlignment(Qt::AlignRight);//设置第0列列宽
m_table->setSelectionBehavior(QAbstractItemView::SelectRows);//以行为单位选择
m_table->setEditTriggers(QAbstractItemView::NoEditTriggers);//禁止编辑
m_table->horizontalHeader()->setStyleSheet
("QHeaderView::section{background-color:rgb(216,226,236);"
"border:0.5px solid rgb(254,254,254);}");
ui->tableWidget->horizontalHeader()->setVisible(true);
ui->tableWidget->verticalHeader()->setVisible(false);
ui->tableWidget->setShowGrid(true);
ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
ui->tableWidget->setColumnCount(strList.size());
ui->tableWidget->setHorizontalHeaderLabels(strList);
ui->tableWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);//关闭滚动条
ui->tableWidget->setSortingEnabled(false); //禁止排序
// ui->tableWidget->verticalScrollBar()->setDisabled(true); // 禁用滚动
// ui->tableWidget->verticalScrollBar().setEnabled(false); //禁止垂直滚动条
// // ui->tableWidget->horizontalScrollBar().setEnabled(fa) //禁止水平滚动条
// ui->tableWidget->setFocusPolicy(QtCore.Qt.NoFocus); //禁止获取焦点
帮助文档所在目录
C:\Qt\Qt5.6.1\Docs\Qt-5.6\qdoc 可在网页直接打开,翻译