主页 | 所有的类 | 主要的类 | 注释的类 | 分组的类 | 函数 |
QTabDialog类提供了一个被标签的窗口部件的栈。 详情请见……
#include <qtabdialog.h>
继承了QDialog。
QTabDialog类提供了一个被标签的窗口部件的栈。
被标签的对话框就是一个在里面有几个“标签页”是可用的对话框。通过点击标签页的标签或者通过按下被指出的Alt+letter键组合,用户可以选择他们想使用的标签页。
QTabDialog提供了一个由标签组成的单一一排在上面组成的标签栏,每一个标签都有一个关联的窗口部件包含着那个标签的标签页。另外,QTabDialog提供了一个OK按钮和下述几个可选按钮:Apply、Cancel、Defaults和Help。
使用QTabDialog的常用方法是在构造函数中像下面这样做:
如果你没有调用addTab(),你已经创建的页面将不是可见的。不要把你提供给QWidget构造函数的对象名称和你提供给addTab()的标签弄混,addTab()中的是出现在窗口部件的标签伤得用户可视名称并且可以有一个快捷键,而窗口部件的名称主要用语调试。
几乎所有应用程序不得不把applyButtonPressed()信号连接到什么上,当OK或者Apply被点击时,applyButtonPressed()被发射,并且你的槽必须复制对话框的状态到应用程序中。
这里有其它几个可能有用的信号:
每个标签在任何给定的时间都可以是生效的或者失效的(请参考setTabEnabled())。如果一个标签生效,标签文本就会被绘制为黑色并且用户可以选择这个标签。如果一个标签失效,标签文本就会被一种不同的方式绘制并且用户也就不可以选择它了。注意,尽管一个标签是失效的,这页仍是可见的,例如,如果所有的标签都变为失效了。
你可以使用changeTab()来改变标签的文本和图标集。标签页可以用removePage()移除并且用showPage()显示。当前页由currentPage()给定。
QTabDialog不支持在侧面或者底下的标签,你也不能设置或者重新找回可见的页。如果你需要比QTabDialog提供的更多的功能,可以考虑考虑使用可以放置QTabWidget的QTabBar的QDialog。
QTabDialog的绝大部分功能是由QTabWidget提供的。
当设置对话框的内容的状态的时候,这个信号被show()发射。对话框应该反映当它出现的时候应用程序的当前状态,如果在你调用QTabDialog::QTabDialog()和QTabDialog::show()之间,有改变应用程序的状态的可能性的话,你应该在一个槽中设置对话框的状态并且把它和这个信号连接起来。
这主要适用于保持隐藏的QTabDialog对象,而不是那些被创建、被显示然后被删除的。
也可以参考applyButtonPressed()、show()和cancelButtonPressed()。
新的页是child,标签文本是label。注意窗口部件名称(你提供给窗口部件构造函数和给setTabEnabled()的,例如)和标签文本的不同。这个窗口部件名称用于应用程序内部并且是不变的,而标签文本是被显示在屏幕上并且可以根据语言和其它因素变化的。
如果标签的label包含“&”,那么在“&”后面的字符就会被用作这个标签的快捷键,例如,如果标签为“Bro&wse”,那么Alt+W就变成了快捷键,它会使焦点移到这个标签的。
如果在show()之后调用addTab(),屏幕将会闪烁并且用户也许会困惑。
也可以参考insertTab()。
这个版本的函数显示child标签上的iconset和label。
这是一个添加标签的底层方法,和其它addTab()方法相似。如果你正在使用setTabBar()来设置一个QTabBar继承类并且为QTab的子类重载QTabBar::paint()函数,这个方法就很有用了。
child是要被放置到新标签页的窗口部件。tab就是要显示在标签页上的标签——通常它显示一个标签文本或者一个图标来标识标签页。
当Apply或者OK按钮之一被点击时,这个信号被发射。
它应该被连接到一个(或几个)根据对话框状态改变应用程序状态的槽。
也可以参考cancelButtonPressed()、defaultButtonPressed()和setApplyButton()。
当Cancel按钮被点击时,这个信号被发射。它自动被连接到将会隐藏对话框的QDialog::reject()。
Cancel按钮一点也不会改变应用程序的状态,所以你应该不需要把它和任何槽连接起来。
也可以参考applyButtonPressed()、defaultButtonPressed()和setCancelButton()。
为标签页w定义新的label。
只要当前页发生改变,这个信号就被发射。
也可以参考currentPage()、showPage()和tabLabel()。
当Defaults按钮被按下时,这个信号被发射。它应该重置对话框(但不是应用程序)为“出厂默认设置”。
直到用户点击Apply或者OK之前,应用程序的状态不应改变。
也可以参考applyButtonPressed()、cancelButtonPressed()和setDefaultButton()。
也可以参考setApplyButton()、applyButtonPressed()、hasCancelButton()和hasDefaultButton()。
也可以参考setCancelButton()、cancelButtonPressed()、hasApplyButton()和hasDefaultButton()。
也可以参考setDefaultButton()、defaultButtonPressed()、hasApplyButton()和hasCancelButton()。
也可以参考setHelpButton()、helpButtonPressed()、hasApplyButton()和hasCancelButton()。
也可以参考setOkButton()、hasApplyButton()、hasCancelButton()和hasDefaultButton()。
当Help按钮被按下时,这个信号被发射。它可以用来呈现关于如何使用这个对话框的信息。
也可以参考applyButtonPressed()、cancelButtonPressed()和setHelpButton()。
新的页是child,标签文本是label。注意窗口部件名称(你提供给窗口部件构造函数和给setTabEnabled()的,例如)和标签文本的不同。这个窗口部件名称用于应用程序内部并且是不变的,而标签文本是被显示在屏幕上并且可以根据语言和其它因素变化的。
如果标签的label包含“&”,那么在“&”后面的字符就会被用作这个标签的快捷键,例如,如果标签为“Bro&wse”,那么Alt+W就变成了快捷键,它会使焦点移到这个标签的。
如果index没有被指定,那么这个标签只是被简单添加。否则它就会被插入在特定位置。
如果在show()之后调用insertTab(),屏幕将会闪烁并且用户也许会困惑。
也可以参考addTab()。
这个版本的函数显示child标签上的iconset和label。
这是一个添加标签的底层方法,和其它insertTab()方法相似。如果你正在使用setTabBar()来设置一个QTabBar继承类并且为QTab的子类重载QTabBar::paint()函数,这个方法就很有用了。
child是要被放置到新标签页的窗口部件。tab就是要显示在标签页上的标签——通常它显示一个标签文本或者一个图标来标识标签页。index是这个标签页应该被插入的位置。
也可以参考setTabEnabled()和QWidget::enabled。
这个函数是废弃的。它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
如果对象名称为name的页是生效的,返回真,否则返回假。
如果name为0或者没有这样一个名称的页,isTabEnabled()返回假。
也可以参考setTabEnabled()和QWidget::enabled。
也可以参考showPage()、QTabWidget::removePage()和QWidgetStack::removeWidget()。
这个函数是废弃的。它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
只要一个标签被选择(升起),这个信号就被发射,包括在第一个show()期间。
也可以参考raise()。
Apply按钮应该把对话框中的当前设置提交给应用程序,并且保持对话框是可视的。
当Apply被点击时,applyButtonPressed()信号被发射。
如果text为零字符串,就没有按钮被显示。
也可以参考setCancelButton()、setDefaultButton()和applyButtonPressed()。
把Apply按钮添加到对话框。按钮文本被设置为本地化的“Apply”。
Cancel按钮也应该把标签视被弹出之前的设置返回给应用程序,或者如果用户已经点击了Apply,就把最近一次Apply的状态立即返回。
当Cancel被点击时,cancelButtonPressed()信号被发射。同时对话框被关闭。
如果text为零字符串,就没有按钮被显示。
也可以参考setApplyButton()、setDefaultButton()和cancelButtonPressed()。
把Cancel按钮添加到对话框。按钮文本被设置为本地化的“Cancel”。
Defaults按钮应该把对话框(但不是应用程序)设置回应用程序的默认值。
当Defaults被点击时,defaultButtonPressed()信号被发射。
如果text为零字符串,就没有按钮被显示。
也可以参考setApplyButton()、setCancelButton()和defaultButtonPressed()。
把Defaults按钮添加到对话框。按钮文本被设置为本地化的“Defaults”。
如果窗口部件是可视的,显示会立即更新字体。根据旧字体和新字体的大小,也许会导致一些几何形状的变化。
从QWidget中重新实现。
当Help被点击时,helpButtonPressed()信号被发射。
如果text为零字符串,就没有按钮被显示。
也可以参考setApplyButton()、setCancelButton()和helpButtonPressed()。
把Help按钮添加到对话框。按钮文本被设置为本地化的“Help”。
如果text为零字符串,就没有按钮被显示。
也可以参考setCancelButton()、setDefaultButton()和applyButtonPressed()。
把OK按钮添加到对话框。按钮文本被设置为本地化的“OK”。
也可以参考tabBar()。
QTabWidget在内部使用QWidget::setEnabled(),而不是保留一个不同的标记。
注意失效的标签和标签页可以是可视的。如果这个页已经可视,QTabWidget不会隐藏它,如果所有的页都是失效地,QTabWidget将会显示其中一个。
也可以参考isTabEnabled()和QWidget::enabled。
这个函数是废弃的。它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
找到对象名称为name的页,根据enable的值来使它生效/失效并且适当地重新绘制页的标签。
QTabWidget在内部使用QWidget::setEnabled(),而不是保留一个不同的标记。
注意失效的标签和标签页可以是可视的。如果这个页已经可视,QTabWidget不会隐藏它,如果所有的页都是失效地,QTabWidget将会显示其中一个。
因为标签文本也许在多语言应用程序中是变化的,所以使用对象名称(而不是标签文本)。
也可以参考isTabEnabled()和QWidget::enabled。
警告: 如果没有仔细使用,这个函数很容易让用户惊奇或者混乱。
也可以参考QTabBar::currentTab。
也可以参考setTabBar()。
这个文件是Qt工具包一部分。 版权所有 © 1995-2002 Trolltech。保留所有权利。
Copyright © 2002 Trolltech | Trademarks | 译者:Cavendish | Qt 3.0.5版
|