QTabWidget 使用方法

QTabWidget是Qt中的标签类,由于可切换到标签存在,大大的提高了软件可容纳的控件的数量,通过增加标签,我们几乎有用之不尽的空间,那么我们来看看这个类的一些基本用法:

声明控件:

QTabWidget *twidget;

切换标签的响应函数:

void YourClass::on_twidget_currentChanged(int idx) {
  // Implement here
  if (idx == 0) {
    // TO DO
  }
  else if (idx == 1) {
    // TO DO
  }
}

别忘了在头文件中加入私有槽的声明:

private slots:
  void YourClass::on_twidget_currentChanged(int idx);

在代码中切换显示标签,0为第一个标签,1为第二个:

twidget.setCurrentIndex(0);
twidget.setCurrentIndex(1);  
时间: 2024-10-17 09:02:53

QTabWidget 使用方法的相关文章

Qt中QPushButton、QTabWidget等部件内容文字换行的解决方法(一定要写在源码里,写在翻译文件里不行,因为\n得不到转义)

最近在做基于Qt的应用项目,其中有一个按钮文字超长,需要换一行显示.从网上找到的建议都是将要显示的内容做成图片,然后将图片设置为该按钮的背景.但是这样做有一个很大的局限性,当需要更改内容文字的时候,需要重新生成图片.这样不仅提高了代码的维护成本,而且方法比较死板.经过本人探索发现,其实只需要设置QPushButton部件的text属性就可以实现换行.例如要显示的文字为: |————————| |         aaa         | |         bbb         | |———

Qt中,当QDockWidget的父窗口是一个不可以拖动的QTabWidget的时候实现拖动的方法

之前在做有关QDockWidget的内容时候遇到了瓶颈,那就是窗口弹出来之后拖动不了,也不可以放大和缩小,若是弹出来之后设置成了window的flags,也不可以拖动,而且也不是需要的效果. 1.弹出来之后的dockwidget的titlebar右边需要有3个按钮分别来控制放大与恢复.弹出来与收进去和关闭按钮.考虑到Qt自带的dockwidget弹出来后实现不了这个,所以参考了网上的方法,需要自己从QWidget中派生一个类来实现自己的titlebar 2.因为dockwidget是嵌套在QTa

QTabWidget and QTabBar.的文字的颜色设置,三种方法

see the code after subclassingTabWidget::TabWidget(QWidget *parent): QTabWidget(parent),mousePressFlag(false){bar=tabBar();QPalette palette;bar->installEventFilter(this); palette.setColor(QPalette::Active,QPalette::Button ,QColor(0,0,255)); bar->set

QTabWidget 实现类似QQ聊天窗口(拖动分离出新的窗口)

新版本的QQ聊天窗口可以实现拖动,分离出新的窗口.浏览器等软件也可以实现类似操作.所以心血来潮想用Qt实现类似的功能.想用QTabWidget直接实现是很难的,仔细阅读源码,发现QTabWidget内部是由QStackedWidget和QTabBar组合实现的.所以很自然的想到,只要继承QTabBar的子类重新实现QTabBar的 [cpp] view plain copy void mousePressEvent (QMouseEvent *e); void mouseMoveEvent (Q

pyqt文档方法说明(不重点)

# -*- coding: cp936 -*- import sys from PyQt4 import QtCore, QtGui class MyDialog(QtGui.QDialog): def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) self.quit = QtGui.QPushButton("Quit") self.change = QtGui.QPushButton("C

Qt容器组件(一)之QGroupBox、QScrollArea、QToolBox、QTabWidget

QT中有九种容器组件,分别是组合框QGroupBox.滚动区QScrollArea.工具箱QToolBox.选项卡QTabWidget.控件栈QWidgetStack.框架QFrame.组件QWidget.MDI窗口显示区QMdiArea.停靠窗口QDockWidget.本博主要介绍:组合框QGroupBox.滚动区QScrollArea.工具箱QToolBox.选项卡QTabWidget 一.QGroupBox分组框 QGroupBox为构建分组框提供了支持.分组框通常带有一个边框和一个标题栏

PySide2(PyQt5) 实现tab切换及方法详解(不定时更新)

更多分享:www.catbron.cn tab的实现用到的是QTabWidget控件,以下仅做简单的演示 源码: import sys from PySide2 import QtCore, QtGui, QtWidgets class MainWindow(): def __init__(self): self.window = QtWidgets.QMainWindow() self.initSize(0.6) self.mainWidget = QtWidgets.QWidget() se

Unity 崩溃问题解决方法——之一

友情提示:工作随记,不喜勿喷 注意:文艺青年可以略过,暴力青年欢迎采纳 Library文件夹 Unity每次编译都会生成这个东西,不用担心丢失的问题.所以,干掉他! 选中 + Delete   或者  选中 + Shift  + Delete 网上看了很多方法,就觉得这个简单,粗暴,是我喜欢的类型. 优点:上面说了 缺点:如果工程过大,重新编译时间会比较长.(但是对于查Log日志来说,相对快点)

Java TM 已被阻止,因为它已过时需要更新的解决方法

公司的堡垒机需要通过浏览器登陆,且该堡垒机的网站需要Java的支持,最近通过浏览器登陆之后总是提示"java TM 已被阻止,因为它已过时需要更新的解决方法"导致登陆之后不能操作, 但是操作系统中确实已经安装了比较新的JDK,安装的JDK版本是jdk-7u67-windows-i586,因为太烦人,所以决定搞清楚报错的原因,一劳永逸,彻底解决这个问题 准备工作:安装JDK,安装版本jdk-7u67-windows-i586.exe,因为机器的Eclipse还依赖64位的JDK,所以另安