亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? qtabwidget.cpp

?? qtopia-phone-2.2.0下公共的控件實(shí)現(xiàn)源代碼。
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/****************************************************************************** $Id: qt/src/widgets/qtabwidget.cpp   2.3.12   edited 2005-10-27 $**** Implementation of QTabWidget class**** Created : 990318**** Copyright (C) 1992-2000 Trolltech AS.  All rights reserved.**** This file is part of the widgets module of the Qt GUI Toolkit.**** This file may be distributed under the terms of the Q Public License** as defined by Trolltech AS of Norway and appearing in the file** LICENSE.QPL included in the packaging of this file.**** This file may be distributed and/or modified under the terms of the** GNU General Public License version 2 as published by the Free Software** Foundation and appearing in the file LICENSE.GPL included in the** packaging of this file.**** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition** licenses may use this file in accordance with the Qt Commercial License** Agreement provided with the Software.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.**** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for**   information about Qt Commercial License Agreements.** See http://www.trolltech.com/qpl/ for QPL licensing information.** See http://www.trolltech.com/gpl/ for GPL licensing information.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************/#include "qtabwidget.h"#ifndef QT_NO_TABWIDGET#include "qobjectlist.h"#include "qobjectdict.h"#include "qtabbar.h"#include "qapplication.h"#include "qwidgetstack.h"#include "qbitmap.h"#ifdef QT_KEYPAD_MODEextern bool qt_modalEditingEnabled;#endif// NOT REVISED/*!  \class QTabWidget qtabwidget.h  \brief The QTabWidget class provides a stack of tabbed widgets.  \ingroup organizers  A tabbed widget is one in which several "pages" are available, and  the user selects which page to see and use by clicking on its tab,  or by pressing the indicated Alt-(letter) key combination.  QTabWidget does not provide more than one row of tabs, and does not  provide tabs along the sides or bottom of the pages.  The normal way to use QTabWidget is to do the following in the  constructor: <ol> <li> Create a QTabWidget. <li> Create a QWidget  for each of the pages in the tab dialog, insert children into it,  set up geometry management for it, and use addTab() to set up a tab  and keyboard accelerator for it. <li> Connect to the  signals and slots. </ol>  If you don't call addTab(), the page you have created will not be  visible.  Please don't confuse the object name you supply to the  QWidget constructor and the tab label you supply to addTab():  addTab() takes a name which indicates an accelerator and is  meaningful and descriptive to the user, while the widget name is  used primarily for debugging.  A signal currentChanged() is emitted when the user selects some  page.  Each tab is either enabled or disabled at any given time.  If a tab  is enabled, the tab text is drawn in black and the user can select  that tab.  If it is disabled, the tab is drawn in a different way  and the user can not select that tab.  Note that even though a tab  is disabled, the page can still be visible, for example if all of  the tabs happen to be disabled.  While tab widgets can be a very good way to split up a complex  dialog, it's also very easy to make a royal mess out of it. See  QTabDialog for some design hints.  Most of the functionality in QTabWidget is provided by a QTabBar (at  the top, providing the tabs) and a QWidgetStack (most of the area,  organizing the individual pages).  <img src=qtabwidget-m.png> <img src=qtabwidget-w.png>  \sa QTabDialog*//*! \enum QTabWidget::TabPosition  This enum type defines where QTabWidget can draw the tab row: <ul>  <li> \c Top - above the pages  <li> \c Bottom - below the pages  </ul>*//*! \enum QTabWidget::TabShape  This enum type defines the shape of the tabs: <ul>  <li> \c Rounded - rounded look (normal)  <li> \c Triangular - triangular look (very unusual, included for completeness)  </ul>*//* undocumented now  \obsolete  \fn void QTabWidget::selected( const QString &tabLabel );  This signal is emitted whenever a tab is selected (raised),  including during the first show().  \sa raise()*//*! \fn void QTabWidget::currentChanged( QWidget* );  This signal is emitted whenever the current page changes.  \sa currentPage(), showPage(), tabLabel()*/class QTabWidgetData{public:    QTabWidgetData()	: tabs(0), stack(0), dirty( TRUE ), pos( QTabWidget::Top ), shape( QTabWidget::Rounded )	{};    ~QTabWidgetData(){};    QTabBar* tabs;    QWidgetStack* stack;    bool dirty;    QTabWidget::TabPosition pos;    QTabWidget::TabShape shape;};/*!  Constructs a tabbed widget with parent \a parent, name \a name  and widget flags \a f.*/QTabWidget::QTabWidget( QWidget *parent, const char *name, WFlags f )    : QWidget( parent, name, f ){    init();}/*!  \overload*/QTabWidget::QTabWidget( QWidget *parent, const char *name )    : QWidget( parent, name ){    init();}void QTabWidget::init(){    d = new QTabWidgetData;    d->stack = new QWidgetStack( this, "tab pages" );    d->stack->installEventFilter( this );    setTabBar( new QTabBar( this, "tab control" ) );    d->stack->setFrameStyle( QFrame::StyledPanel | QFrame::Raised );    d->stack->setLineWidth( style().defaultFrameWidth() );    setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ) );    setFocusPolicy( TabFocus );    setFocusProxy( d->tabs );}/*!  Destructs the tab widget.*/QTabWidget::~QTabWidget(){    delete d;}/*!  Adds another tab and page to the tab view.  The tab will be labelled \a label and \a child constitutes the new  page.  Note the difference between the widget name (which you supply  to widget constructors and to e.g. setTabEnabled()) and the tab  label: The name is internal to the program and invariant, while the  label is shown on screen and may vary according to e.g. language.  \a label is written in the QButton style, where &P makes Qt create  an accelerator key on Alt-P for this page.  For example:  \code    td->addTab( graphicsPane, "&Graphics" );    td->addTab( soundPane, "&Sound" );  \endcode  If the user presses Alt-S the sound page of the tab dialog is shown,  if the user presses Alt-P the graphics page is shown.  If you call addTab() after show(), the screen will flicker and the  user will be confused.*/void QTabWidget::addTab( QWidget *child, const QString &label){    QTab * t = new QTab();    CHECK_PTR( t );    t->label = label;    addTab( child, t );}/*!  Adds another tab and page to the tab view.  This function is the same as addTab() but with an additional  iconset. */void QTabWidget::addTab( QWidget *child, const QIconSet& iconset, const QString &label){    QTab * t = new QTab();    CHECK_PTR( t );    t->label = label;    t->iconset = new QIconSet( iconset );    addTab( child, t );}/*!  This is a lower-level method for adding tabs, similar to the other  addTab() method.  It is useful if you are using setTabBar() to set a  QTabBar subclass with an overridden QTabBar::paint() routine for a  subclass of QTab.*/void QTabWidget::addTab( QWidget *child, QTab* tab){    tab->enabled = TRUE;    int id = d->tabs->addTab( tab );    d->stack->addWidget( child, id );    if ( d->stack->frameStyle() != ( QFrame::StyledPanel | QFrame::Raised ) )	d->stack->setFrameStyle( QFrame::StyledPanel | QFrame::Raised );    setUpLayout();}/*!  Inserts another tab and page to the tab view.  The tab will be labelled \a label and \a child constitutes the new  page.  Note the difference between the widget name (which you supply  to widget constructors and to e.g. setTabEnabled()) and the tab  label: The name is internal to the program and invariant, while the  label is shown on screen and may vary according to e.g. language.  \a label is written in the QButton style, where &P makes Qt create  an accelerator key on Alt-P for this page.  For example:  \code    td->insertTab( graphicsPane, "&Graphics" );    td->insertTab( soundPane, "&Sound" );  \endcode  If \a index is not specified, the tab is simply added. Otherwise  it's inserted at the specified position.  If the user presses Alt-S the sound page of the tab dialog is shown,  if the user presses Alt-P the graphics page is shown.  If you call insertTab() after show(), the screen will flicker and the  user will be confused.*/void QTabWidget::insertTab( QWidget *child, const QString &label, int index){    QTab * t = new QTab();    CHECK_PTR( t );    t->label = label;    insertTab( child, t, index );}/*!  Inserts another tab and page to the tab view.  This function is the same as insertTab() but with an additional  iconset. */void QTabWidget::insertTab( QWidget *child, const QIconSet& iconset, const QString &label, int index ){    QTab * t = new QTab();    CHECK_PTR( t );    t->label = label;    t->iconset = new QIconSet( iconset );    insertTab( child, t, index );}/*!  This is a lower-level method for inserting tabs, similar to the other  insertTab() method.  It is useful if you are using setTabBar() to set a  QTabBar subclass with an overridden QTabBar::paint() routine for a  subclass of QTab.*/void QTabWidget::insertTab( QWidget *child, QTab* tab, int index){    tab->enabled = TRUE;    int id = d->tabs->insertTab( tab, index );    d->stack->addWidget( child, id );    if ( d->stack->frameStyle() != ( QFrame::StyledPanel | QFrame::Raised ) )	d->stack->setFrameStyle( QFrame::StyledPanel | QFrame::Raised );    setUpLayout();}/*!  Defines a new label for the tab of page \a w */void QTabWidget::changeTab( QWidget *w, const QString &label){    //#### accelerators    int id = d->stack->id( w );    if ( id < 0 )	return;    QTab* t = d->tabs->tab( id );    if ( !t )	return;    t->label = label;    d->tabs->layoutTabs();    int ct = d->tabs->currentTab();    bool block = d->tabs->signalsBlocked();    d->tabs->blockSignals( TRUE );    d->tabs->setCurrentTab( 0 );    d->tabs->setCurrentTab( ct );    d->tabs->blockSignals( block );    d->tabs->update();    setUpLayout();}/*!  Defines a new \a iconset and a new \a label for the tab of page \a w */void QTabWidget::changeTab( QWidget *w, const QIconSet& iconset, const QString &label){    //#### accelerators    int id = d->stack->id( w );    if ( id < 0 )	return;    QTab* t = d->tabs->tab( id );    if ( !t )	return;    if ( t->iconset )	delete t->iconset;    t->label = label;    t->iconset = new QIconSet( iconset );    d->tabs->layoutTabs();    int ct = d->tabs->currentTab();    bool block = d->tabs->signalsBlocked();    d->tabs->blockSignals( TRUE );    d->tabs->setCurrentTab( 0 );    d->tabs->setCurrentTab( ct );    d->tabs->blockSignals( block );    d->tabs->update();    setUpLayout();}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
极品少妇xxxx精品少妇偷拍| 美女视频一区在线观看| 国产欧美一区二区精品性| 91.com在线观看| 欧美性猛交xxxx乱大交退制版| 99久久精品国产观看| 99精品视频在线观看免费| 国产91富婆露脸刺激对白| 国产一区二区精品在线观看| 国产成人av电影| av电影在线观看一区| 91免费在线播放| 欧美午夜不卡在线观看免费| 7777精品伊人久久久大香线蕉的 | 国产精品私人影院| 国产欧美视频一区二区| 国产精品灌醉下药二区| 亚洲综合一区在线| 日韩精品国产欧美| 国产成人精品www牛牛影视| 国产成人免费xxxxxxxx| 99久久精品国产精品久久| 欧美日韩一区二区三区四区五区| 8x福利精品第一导航| 国产欧美日韩亚州综合| 夜夜嗨av一区二区三区| 午夜久久福利影院| 成人一区二区在线观看| 欧美日韩一区国产| 中文字幕精品—区二区四季| 亚洲高清一区二区三区| 国产一区二区在线看| 色综合色狠狠综合色| 91精品免费在线| 亚洲视频图片小说| 国产中文字幕一区| 欧美在线看片a免费观看| 久久综合久久综合久久综合| 亚洲精品视频在线看| 国产一区二区三区免费播放| 色av一区二区| 国产精品视频九色porn| 美国十次了思思久久精品导航| 成人在线视频首页| 欧美一级搡bbbb搡bbbb| 自拍偷拍欧美精品| 国产精品 日产精品 欧美精品| 欧美丝袜丝交足nylons图片| 中文字幕不卡一区| 国产综合色产在线精品 | 日韩成人一级大片| 色婷婷久久久综合中文字幕 | 亚洲自拍偷拍图区| 成人a区在线观看| 久久精品人人做人人综合| 日韩精品福利网| 欧美视频一区二区三区四区 | 国产精品996| 欧美一区二区三区公司| 亚洲韩国一区二区三区| 91猫先生在线| 亚洲日本韩国一区| 岛国一区二区三区| 国产日韩欧美不卡| 国产91丝袜在线播放0| 日韩精品一区在线观看| 麻豆精品视频在线观看免费 | 久久网站最新地址| 日av在线不卡| 精品久久久久久久久久久久包黑料| 五月天亚洲婷婷| 欧美久久久一区| 天堂久久久久va久久久久| 欧美日韩一区二区在线视频| 亚洲第四色夜色| 欧美精品日韩综合在线| 五月激情六月综合| 日韩一区二区免费电影| 久久精品国产精品亚洲综合| 日韩欧美的一区| 国产一区二区视频在线播放| 国产欧美一区二区精品秋霞影院| 国产精品白丝jk黑袜喷水| 国产精品福利一区| 精品视频在线看| 免费观看久久久4p| 国产日产亚洲精品系列| 色综合久久久久久久| 亚洲国产另类av| 精品久久国产老人久久综合| 国产91精品一区二区麻豆网站| 中文字幕的久久| 欧美日韩中文精品| 黑人精品欧美一区二区蜜桃 | 国产午夜精品一区二区三区嫩草| 久久精品国产亚洲一区二区三区| 欧美第一区第二区| 不卡一区在线观看| 午夜亚洲福利老司机| 精品美女在线观看| 色欧美日韩亚洲| 看国产成人h片视频| 国产欧美精品在线观看| 91黄色免费观看| 韩国中文字幕2020精品| 一区二区三区日韩| 精品国产乱码久久久久久久| 波多野结衣视频一区| 亚洲国产精品天堂| 国产精品视频yy9299一区| 欧美自拍丝袜亚洲| 国产一区二区三区在线观看免费| 亚洲免费观看视频| 久久美女艺术照精彩视频福利播放| 91浏览器打开| 国产主播一区二区三区| 亚洲一区二区视频在线观看| 久久亚洲精华国产精华液| 欧美在线free| 福利视频网站一区二区三区| 秋霞电影网一区二区| 亚洲卡通欧美制服中文| 337p粉嫩大胆噜噜噜噜噜91av| 91福利在线免费观看| 国产91清纯白嫩初高中在线观看| 午夜精品久久久久久久蜜桃app| 国产精品免费观看视频| 欧美不卡激情三级在线观看| 欧美日韩一级二级| 92国产精品观看| 高清成人免费视频| 麻豆成人综合网| 日韩黄色小视频| 午夜精品久久久久影视| 一区二区在线观看不卡| 国产精品丝袜91| 国产清纯白嫩初高生在线观看91| 欧美一区二区三区啪啪| 欧美日韩美少妇| 色香色香欲天天天影视综合网| 国产成人在线色| 丰满白嫩尤物一区二区| 三级一区在线视频先锋| 日韩亚洲欧美中文三级| 精品国产一二三| 日韩一区二区在线看| 在线观看91视频| 日本乱人伦一区| 欧洲中文字幕精品| 欧美午夜精品一区二区三区| av在线不卡免费看| 99国内精品久久| 日本高清不卡在线观看| 99久久精品情趣| 日本久久电影网| 欧美嫩在线观看| 91麻豆精品国产91久久久久 | 国产精品18久久久久久久久久久久 | 久久久精品国产免大香伊 | 99视频一区二区| 波多野结衣欧美| 91国产丝袜在线播放| 欧美日韩一卡二卡三卡| 777xxx欧美| 久久精品一区二区三区不卡 | 精品国产精品一区二区夜夜嗨| 欧美成人猛片aaaaaaa| 欧美大片在线观看一区二区| 久久久精品影视| 亚洲欧洲av色图| 亚洲国产成人精品视频| 激情深爱一区二区| 99久久免费国产| 91精选在线观看| 久久精品夜色噜噜亚洲aⅴ| 亚洲欧美在线观看| 婷婷国产在线综合| 国产成人在线视频网站| 欧美性猛交xxxx乱大交退制版| 欧美一区二区三区不卡| 亚洲欧洲成人自拍| 男女性色大片免费观看一区二区| 国产一区二区三区电影在线观看| 99久久综合狠狠综合久久| 欧美日韩大陆一区二区| 久久综合999| 亚洲宅男天堂在线观看无病毒| 久久精品国产久精国产| 91美女片黄在线| 日韩精品中文字幕在线不卡尤物| **欧美大码日韩| 激情五月播播久久久精品| 欧美又粗又大又爽| 国产欧美日韩中文久久| 日韩av不卡在线观看| 91浏览器打开| 国产精品入口麻豆九色| 激情综合网av| 欧美另类videos死尸| 亚洲免费毛片网站|