zoukankan      html  css  js  c++  java
  • QTabWidget 使用小记

    [2010年07月30日文档]

    哈哈,这个暑假在家里学习Qt,有了一些理论知识后,就想动手搞个什么小东西,在Qt Demo中看到了一个简单的文本编辑器,我就研究它了,当然Qt带的这个例子功能十分简单,经过几天不断的摸索和实践我也搞了一个类似的,不过功能要强大,而且比Windows 默认带的那个记事本也要强,呵呵,后来就想继续扩充功能,时下十分流行的那个功能“一个窗口多个标签页显示”就如IE8那种,可以在一个窗口打开多个网页,在Qt中当然要用QTabWidget,但是据我所知这个控件并没有提供关闭按钮,这个很麻烦了,google一晚上,在国外某个论坛上看到了解决方案:在Qt 4.5 中 QTabWidget 多了一个属性 tabsClosable ,将其设置为True即可出现关闭按钮。先来张截图吧:

    默认情况下,每个标签上的关闭按钮是没有任何响应的,我们需要自己动手为他添加关闭响应。

    关闭信号为   void tabCloseRequested(int index)

    关闭函数为    void removeTab(int index)

    注意关闭标签的是一个普通公共函数,不是槽函数,不可以直接与信号相连,我们需要自己手动定义个接受 int类型的槽函数,然后把参数再传递给关闭函数。

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include <QTabWidget>
    #include <QTextEdit>
    MainWindow::MainWindow(QWidget *parent) :
                        QMainWindow(parent),
                       ui(new Ui::MainWindow)
    {
         ui->setupUi(this);
         connect(ui->tabWidget,SIGNAL(tabCloseRequested(int)),this,SLOT(removeSubTab(int)));
    }
    
    MainWindow::~MainWindow()
    {
         delete ui;
    }
    
    void MainWindow::removeSubTab(int index)
    {
          ui->tabWidget->removeTab(index);
    }
    
    void MainWindow::on_pushButton_clicked()
    {
          QTextEdit *edit=new QTextEdit;
          ui->tabWidget->addTab(edit,"hitemp 1");
    }
  • 相关阅读:
    C/S架构引用Lodop 如何在C#调用web打印控件Lodop
    Lodop打印设计(PRINT_DESIGN)里的快捷键
    Lodop打印控件中PRINT_INITA()和PRINT_PAGESIZE()宽高
    LODOP打印控件关联输出各内容
    如何判断使用的是Lodop还是C-Lodop
    Lodop代码设置打印机等信息后 设置预览可重选
    Lodop打印控件输出页码(超文本和纯文本页码)
    PhotoShop不用魔棒、钢笔 建立较平整的选区 P进电脑屏幕里
    uniq命令详解
    sort命令详解
  • 原文地址:https://www.cnblogs.com/hicjiajia/p/2526829.html
Copyright © 2011-2022 走看看