精华内容
下载资源
问答
  • Qt中QTabWidget隐藏子夹头 ui->tabWidget->findChildren<QTabBar*>().at(0)->hide(); 转载于...

    Qt中QTabWidget隐藏子夹头

    ui->tabWidget->findChildren<QTabBar*>().at(0)->hide();
    

    转载于:https://my.oschina.net/u/3907010/blog/1844603

    展开全文
  • Qt中QTabWidget使用

    千次阅读 2019-01-26 23:03:05
    转载自... //mydialog.h#ifndef MYDIALOG_H#define MYDIALOG_H#include &lt;QDialog&gt;class QTabWidget;class MyDialog : p...

    转载自https://blog.csdn.net/qiurisuixiang/article/details/6916603

    1. //mydialog.h
    2. #ifndef MYDIALOG_H
    3. #define MYDIALOG_H
    4. #include <QDialog>
    5. class QTabWidget;
    6. class MyDialog : public QDialog
    7. {
    8. Q_OBJECT
    9. public:
    10. explicit MyDialog(QWidget *parent = 0);
    11. signals:
    12. public slots:
    13. private:
    14. QTabWidget *tabWidget;
    15. };
    16. #endif // MYDIALOG_H


     

    1. //mydialog.cpp
    2. #include "mydialog.h"
    3. #include <QtGui/QTabWidget>
    4. #include <QtGui/QHBoxLayout>
    5. #include <QtGui/QVBoxLayout>
    6. #include <QtGui/QLabel>
    7. #include <QtGui/QLineEdit>
    8. #include <QtGui/QPushButton>
    9. #include <QtGui/QWidget>
    10. #include <QtGui/QIcon>
    11. MyDialog::MyDialog(QWidget *parent) :
    12. QDialog(parent)
    13. {
    14. tabWidget = new QTabWidget();
    15. //新建第一个页面的部件
    16. QWidget *widget = new QWidget();
    17. QLineEdit *lineEdit = new QLineEdit();
    18. QPushButton *pushButton = new QPushButton("Test");
    19. QVBoxLayout *vLayout = new QVBoxLayout();
    20. vLayout->addWidget(lineEdit);
    21. vLayout->addWidget(pushButton);
    22. widget->setLayout(vLayout);
    23. //新建第二个页面的部件
    24. QLabel *label = new QLabel("Hello Qt");
    25. //新建第三个页面的部件
    26. QPushButton *pushButton3 = new QPushButton("Click Me");
    27. //向QTabWidget中添加第一个页面
    28. QIcon icon1(":/new/icon/images/1.ico");
    29. tabWidget->addTab(widget, icon1, "Tab1");
    30. //向QTabWidget中添加第二个页面
    31. QIcon icon2(":/new/icon/images/2.ico");
    32. tabWidget->addTab(label, icon2, "Tab2");
    33. //向QTabWidget中添加第三个页面
    34. QIcon icon3(":/new/icon/images/3.ico");
    35. tabWidget->addTab(pushButton3, icon3, "Tab3");
    36. QHBoxLayout *layout = new QHBoxLayout();
    37. layout->addWidget(tabWidget);
    38. this->setLayout(layout);
    39. this->resize(300, 100);
    40. this->setWindowTitle("QTabWidgetDemo");
    41. }


     

    1. //main.cpp
    2. #include <QtGui/QApplication>
    3. #include "mydialog.h"
    4. int main(int argc, char *argv[])
    5. {
    6. QApplication a(argc, argv);
    7. MyDialog dialog;
    8. dialog.show();
    9. return a.exec();
    10. }


     

    资源文件截图

     

    程序运行截图:

     

    展开全文
  • Qt中QTabWidget的使用

    2020-08-24 11:16:09
    QTabWidget可以在Qt Designer进行基本的静态设置,这对于开发时制定开发框架很有帮助。 1.1 增加页 右键tabWidget,在弹出菜单选择“插入页”-》“在当前页之前”/“在当前页之后”。 1.2 删除页 右键...

    目录

     

    1. 在Qt Designer中的基本设置

    1.1 增加页

    1.2 删除页


    1. 在Qt Designer中的基本设置

    QTabWidget可以在Qt Designer中进行基本的静态设置,这对于开发时制定开发框架很有帮助。

    1.1 增加页

    右键tabWidget,在弹出菜单中选择“插入页”-》“在当前页之前”/“在当前页之后”。

    1.2 删除页

    右键tabWidget,在弹出菜单中选择“2的页1”-》“删除”。其中“2的页1”表示有2个tab,当前选择的是1。

    展开全文
  • QT中QTabwidget表格常用操作

    千次阅读 2020-10-14 15:30:14
    QTabwidget常用操作 0、QTableWidget初始化示例 1、列设置(表头) 1.1 添加表头 1.2 设置表头样式(颜色和字体) 1.3 设置表头宽度 1.4 自动设置表头宽度 1.5 设置表头高度 1.6 设置表头不可拖动 1.7 隐藏表头 2、...

    0、QTableWidget初始化示例

        ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);  //设置表格内容不可编辑
        ui->tableWidget->verticalHeader()->setHidden(true);       //隐藏行号列
        ui->tableWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);  //设置滚动隐藏
        ui->tableWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
        ui->tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Fixed);   //设置表头不可拖动
        ui->tableWidget->setSelectionMode(QAbstractItemView::NoSelection);		//设置不可选
        ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);	
        /*************************************
        ***
        ***设置表格横竖内容
        ***
        *************************************/
    

    1、列设置(表头)

    1.1 添加表头
    	QStringList header;
    	header<<"序号"<<"名称"<<"设备ID"<<"设备IP"<<"设备端口"<<"型号"<<"厂家"<<"备注";
    	ui->tableWidget->setHorizontalHeaderLabels(header);
    
    1.2 设置表头样式(颜色和字体)
    	ui->tableWidget->horizontalHeader()->setStyleSheet(
    	"QHeaderView::section{background-color:rgb(225,225,225);"
    	"font:10pt '宋体';color: black;};");
    
    1.3 设置表头宽度
    	ui->tableWidget->setColumnWidth(0,width * 3);
    	ui->tableWidget->setColumnWidth(1,width * 2);
    
    1.4 自动设置表头宽度
    	ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
    
    1.5 设置表头高度
    	ui->tableWidget->horizontalHeader()->setFixedHeight(45);
    
    1.6 设置表头不可拖动
    // 1、设置所有的列
    ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed);
    // 2、设置某一列,比如第一列
    ui->tableWidget->horizontalHeader()->setSectionResizeMode(0,QHeaderView::Fixed);
    
    1.7 隐藏表头
    ui->tabWidget->findChildren<QTabBar*>().at(0)->hide();
    

    如果qt版本是5.0以上,还可以使用如下操作:

    ui->tabWidget->tabBar()->hide();
    

    如果还是不行可试试:

        ui->tableWidget->horizontalHeader()->setVisible(false); //隐藏行表头
    

    2、行设置

    2.1 设置表格行数
    	ui->tableWidget->setRowCount(regInfo.size()+1);
    
    2.2 设置表格 行 高度
    	ui->tableWidget->verticalHeader()->setDefaultSectionSize(30);
    
    2.3 隐藏行号列
    ui->tableWidget->verticalHeader()->setHidden(true);    
    
    2.4 设置表格一直显示最后内容
        ui->tableWidget->scrollToBottom();
    
    2.5 任意位置插入行

    首先获取当前位置行,点击插入后执行执行插入行操作:

        int currentRow = ui->tableWidget->currentRow();
        if(currentRow == -1)
        {
            qDebug()<<"未选择插入位置!";
            return ;
        }
        ui->tableWidget->insertRow(currentRow);
    

    效果如下:
    在这里插入图片描述

    3、内容设置

    3.0 表格后面追加内容
        ui->tableWidget->setRowCount(ui->tableWidget->rowCount()+1);
        ui->tableWidget->setItem(ui->tableWidget->rowCount()-1, 0, new QTableWidgetItem("data")));
    
    3.1 设置行内容(每个表格内填入的是实际的对象)
    	ui->tableWidget->setItem(i, 0, new QTableWidgetItem(info.indexes));
    
    3.2设置表格内容不可编辑
    	ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);  
    
    3.3 设置表格中字体格式
    	ui->tableWidget->item(0,0)->setFont(QFont( "Times", 10, QFont::Black ));
    
    3.4 设置表格内容居中
    ui->tableWidget->item(0,0)->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
    
    3.5 实现双击表格内容信号槽
    	connect(ui->tableWidget, SIGNAL(cellDoubleClicked(int , int )), 
    			this, SLOT(on_clickTabWidget(int , int )));
    
    3.6 表格内容背景颜色
    	ui->tableWidget->item(i,4)->setBackgroundColor(RedColor);
    

    在这里插入图片描述

    3.7 表格内容中添加QWidget子类控件

    如QLabel,给label插入背景图片实现如下效果:

        QLabel *status = new QLabel();
        status->setPixmap(QPixmap(":/new/prefix1/white.png"));
        ui->tableWidget->setCellWidget(i,4,status);
    

    在这里插入图片描述

    4、内容选中设置

    4.1 设置行被选中
    	ui->tableWidget->selectRow(0);
    
    4.2 设置所有行被选中
    	ui->tableWidget->selectAll();
    
    4.3 取消所有行选中
    	ui->tableWidget->clearSelection();
    
    4.4 设置表格内容不可选
       	ui->tableWidget->setSelectionMode(QAbstractItemView::NoSelection);
    

    5、滚动条设置

    5.1 设置滚动隐藏或显示
        ui->tableWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
        ui->tableWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
    
    5.2 设置滚动条样式
    	//设置纵向滚动条样式
    	ui->tableWidget->verticalScrollBar()->setStyleSheet(
    			"QScrollBar{background-color:rgb(218,222,223); width:10px;}"
    			"QScrollBar::handle{background-color:rgb(180, 180, 180); border:2px solid transparent; border-radius:5px;}"
    			"QScrollBar::handle:hover{background-color:rgb(139, 139, 139);}"
    			"QScrollBar::sub-line{background:transparent;}"
    			"QScrollBar::add-line{background:transparent;}");
    	//设置横向滚动条样式
    	ui->tableWidget->horizontalScrollBar()->setStyleSheet(
    			"QScrollBar{background-color:rgb(218,222,223); height:10px;}"
    			"QScrollBar::handle{background-color:rgb(180, 180, 180); border:2px solid transparent; border-radius:5px;}"
    			"QScrollBar::handle:hover{background-color:rgb(139, 139, 139);}"
    			"QScrollBar::sub-line{background:transparent;}"
    			"QScrollBar::add-line{background:transparent;}");  
    

    6、表格整体设置

    6.1 设置表格背景透明

    只设置控件的背景为透明,子控件不设置

    QPalette pBuff = ui->tableWidget->palette();  
    pBuff.setBrush(QPalette::Base,QBrush(QColor(255,255,255,0)));  
    ui->tableWidget->setPalette(pBuff);
    
    6.2 隐藏表格内的网线
        ui->tableWidget->setShowGrid(false);   
    

    在这里插入图片描述

    更多内容后续持续更新。

    展开全文
  • Qt中QTabWidget隐藏某些tab

    千次阅读 2019-11-26 14:13:20
    在我们使用QTabWidget中,有可能会动态隐藏或显示某些特定的tab页,思路可以参考https://blog.csdn.net/imred/article/details/78828828这篇文章来修改,主要是设置某些指定的tab页为不可编辑状态,然后再设置...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 200
精华内容 80
关键字:

qt中qtabwidget