Qt常用的经验技巧

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编译相关

  1. 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 可在网页直接打开,翻译

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值