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

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

?? qspinbox.cpp

?? qtopia-phone-2.2.0下公共的控件實現(xiàn)源代碼。
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
  The \a valueText parameter is the same string that is  displayed in the edit field of the spin box.  \sa value()*//*!  Intercepts and handles those events coming to the embedded QLineEdit  which have special meaning for the QSpinBox.*/bool QSpinBox::eventFilter( QObject* obj, QEvent* ev ){    if ( obj != vi )	return FALSE;    if ( ev->type() == QEvent::FocusOut || ev->type() == QEvent::Hide ) {	if ( edited )	    interpretText();#ifdef QT_KEYPAD_MODE	if( qt_modalEditingEnabled )	    update();    } else if ( qt_modalEditingEnabled && ev->type() == QEvent::FocusIn ) {	if ( ((QFocusEvent *)ev)->reason() != QFocusEvent::Mouse ){	    vi->selectAll();	    update();	}    } else if ( qt_modalEditingEnabled && 	    (ev->type() == QEvent::EnterModalEdit || ev->type() == QEvent::LeaveModalEdit)) {	update();#endif    } else if ( ev->type() == QEvent::KeyPress ) {	QKeyEvent* k = (QKeyEvent*)ev;#ifdef QT_KEYPAD_MODE	if( qt_modalEditingEnabled ) {	    switch( k->key() ) {		case Key_Select:		    if ( edited )			interpretText();		    if ( !vi->isModalEditing() ) {			if ( !isModalEditing() ) {			    setModalEditing( TRUE );			} else {			    setModalEditing( FALSE );			    return FALSE;	    //eg. pass it to qlineedit			}		    }else{			update();		    }		    break;		case Key_Back:		case Key_No:		    // if vi is the modal editor we know it will get the event after us,		    // so don't eat it here as it needs to restore the original value.		    if ( isModalEditing() )			setModalEditing( FALSE );		    break;		default:		    if ( !isModalEditing() && !vi->isModalEditing() )			return FALSE;	    }	}#endif	if ( k->key() == Key_Up ) {	    stepUp();	    return TRUE;	} else if ( k->key() == Key_Down ) {	    stepDown();	    return TRUE;	} else if ( k->key() == Key_Return ) {	    interpretText();	    return FALSE;	}    }    return FALSE;}/*!\reimp*/void QSpinBox::leaveEvent( QEvent* ){}/*!\reimp*/void QSpinBox::resizeEvent( QResizeEvent* ){    arrangeWidgets();}/*!\reimp*/void QSpinBox::wheelEvent( QWheelEvent * e ){    e->accept();    static float offset = 0;    static QSpinBox* offset_owner = 0;    if (offset_owner != this) {	offset_owner = this;	offset = 0;    }    offset += -e->delta()/120;    if (QABS(offset) < 1)	return;    int ioff = int(offset);    int i;    for (i=0; i<QABS(ioff); i++)	offset > 0 ? stepDown() : stepUp();    offset -= ioff;}/*!  This method gets called by QRangeControl whenever the value has changed.  Updates the display and emits the valueChanged() signals.*/void QSpinBox::valueChange(){    updateDisplay();    emit valueChanged( value() );    emit valueChanged( currentValueText() );}/*!  This method gets called by QRangeControl whenever the range has  changed.  It adjusts the default validator and updates the display.*/void QSpinBox::rangeChange(){    if ( validate->inherits( "QIntValidator" ) )	((QIntValidator*)validate)->setRange( minValue(), maxValue() );    updateDisplay();}/*!  Sets the validator to \a v.  The validator controls what keyboard  input is accepted when the user is editing in the value field.  The  default is to use a suitable QIntValidator.  Use setValidator(0) to turn off input validation (entered input will  still be clamped to the range of the spinbox).*/void QSpinBox::setValidator( const QValidator* v ){    if ( vi )	vi->setValidator( v );}/*!  Returns the validator which constrains editing for this spin box if  there is any, or else 0.  \sa setValidator() QValidator*/const QValidator * QSpinBox::validator() const{    return vi ? vi->validator() : 0;}/*!  Updates the contents of the embedded QLineEdit to reflect current  value, using mapValueToText().  Also enables/disables the push  buttons accordingly.  \sa mapValueToText()*/void QSpinBox::updateDisplay(){    vi->setText( currentValueText() );    edited = FALSE;    up->setEnabled( isEnabled() && (wrapping() || value() < maxValue()) );    down->setEnabled( isEnabled() && (wrapping() || value() > minValue()) );}/*!  QSpinBox calls this after the user has manually edited the contents  of the spin box (not using the up/down buttons/keys).  The default implementation of this function interprets the new text  using mapTextToValue().  If mapTextToValue() is successful, it  changes the spin box' value.  If not the value if left unchanged.*/void QSpinBox::interpretText(){    bool ok = TRUE;    bool done = FALSE;    int newVal = 0;    if ( !specialValueText().isEmpty() ) {	QString s = QString(text()).stripWhiteSpace();	QString t = QString(specialValueText()).stripWhiteSpace();	if ( s == t ) {	    newVal = minValue();	    done = TRUE;	}    }    if ( !done )	newVal = mapTextToValue( &ok );    if ( ok )	setValue( newVal );    updateDisplay();		// Sometimes redundant}/*!  Returns a pointer to the embedded 'up' button.*/QPushButton* QSpinBox::upButton() const{    return up;}/*!  Returns a pointer to the embedded 'down' button.*/QPushButton* QSpinBox::downButton() const{    return down;}/*!  Returns a pointer to the embedded QLineEdit.*/QLineEdit* QSpinBox::editor() const{    return vi;}/*!  This slot gets called whenever the user edits the text of the spin box.*/void QSpinBox::textChanged(){    edited = TRUE;	// This flag is cleared in updateDisplay()};/*!  This virtual function is used by the spin box whenever it needs to  display value \a v.  The default implementation returns a string  containing \a v printed in the standard way.  Reimplement this function in in a subclass if you want a specialized  spin box, handling something else than integers.  This function need  not be concerned with \link setPrefix() prefix \endlink or \link  setSuffix() suffix \endlink or \link setSpecialValueText()  special-value text, \endlink the QSpinBox handles that  automatically.  \sa updateDisplay(), mapTextToValue()*/QString QSpinBox::mapValueToText( int v ){    QString s;    s.setNum( v );    return s;}/*!  This virtual function is used by the spin box whenever it needs to  interpret the text entered by the user as a value.  The default  implementation tries to interpret it as an integer in the standard  way, and returns the integer value.  Reimplement this function in in a subclass if you want a specialized  spin box, handling something else than integers.  It should call  text() (or cleanText() ) and return the value corresponding to that  text.  If the text does not represent a legal value  (uninterpretable), the bool pointed to by \a ok should be set to  FALSE.  This function need not be concerned with \link setSpecialValueText()  special-value text, \endlink the QSpinBox handles that  automatically.  \sa interpretText(), mapValueToText()*/int QSpinBox::mapTextToValue( bool* ok ){    QString s = text();    int newVal = s.toInt( ok );    if ( !(*ok) && !( !prefix() && !suffix() ) ) {// Try removing any pre/suffix	s = cleanText();	newVal = s.toInt( ok );    }    return newVal;}/*!  Returns the full text calculated from the current value, including any  prefix, suffix or special-value text.*/QString QSpinBox::currentValueText(){    QString s;    if ( (value() == minValue()) && !specialValueText().isEmpty() ) {	s = specialValueText();    } else {	s = prefix();	s.append( mapValueToText( value() ) );	s.append( suffix() );    }    return s;}/*!  \reimp*/void QSpinBox::setEnabled( bool on ){    bool b = isEnabled();    QFrame::setEnabled( on );    if ( isEnabled() != b ) {	// ## enabledChange() might have been a better choice	updateDisplay();    }}/*! \reimp */void QSpinBox::styleChange( QStyle& old ){    if ( style() == WindowsStyle )	setFrameStyle( WinPanel | Sunken );    else	setFrameStyle( Panel | Sunken );    arrangeWidgets();    QWidget::styleChange( old );}/*! \enum QSpinBox::ButtonSymbols  This enum type determines what the buttons in a spin box show.  The  currently defined values are: <ul>  <li> \c UpDownArrows - the buttons show little arrows, in the  classic style.  This is the default.  <li> \c PlusMinus - the buttons show '+' and '-' symbols.  This is  often considered to be more meaningful than \c UpDownArrows.  </ul>*//*!  Sets the spin box to display \a newSymbols on its buttons.  \a  newSymbols can be either \c UpDownArrows (the default) or \c PlusMinus.  \sa buttonSymbols() ButtonSymbols*/void QSpinBox::setButtonSymbols( ButtonSymbols newSymbols ){    if ( buttonSymbols() == newSymbols )	return;    if ( !d )	d = new QSpinBoxPrivate;    d->buttonSymbols = newSymbols;    updateButtonSymbols();}/*!  Returns the current button symbol mode.  The default is \c  UpDownArrows.  \sa setButtonSymbols() ButtonSymbols*/QSpinBox::ButtonSymbols QSpinBox::buttonSymbols() const{    return d ? d->buttonSymbols : UpDownArrows;}// this function uses the pixmap cache for a Different Reason: the// pixmap cache also preserves QPixmap::serialNumber().  by doing// this, QButton::setPixmap() is able to avoid flicker e.g. when the// spin box is resized in such a way that the height of the buttons// does not change (common the default size policy).void QSpinBox::updateButtonSymbols(){    QString key( QString::fromLatin1( "$qt$qspinbox$" ) );    bool pmSym = buttonSymbols() == PlusMinus;    key += QString::fromLatin1( pmSym ? "+-" : "^v" );    key += QString::number( down->height() );    QString upKey = key + QString::fromLatin1( "$up" );    QString dnKey = key + QString::fromLatin1( "$down" );    QBitmap upBm;    QBitmap dnBm;    bool found = QPixmapCache::find( dnKey, dnBm )		 && QPixmapCache::find( upKey, upBm );    if ( !found ) {	QPainter p;	if ( pmSym ) {	    int h = down->height()-4;	    if ( h < 3 )		return;	    else if ( h == 4 )		h = 3;	    else if ( (h > 6) && (h & 1) )		h--;	    h -= ( h / 8 ) * 2;		// Empty border	    dnBm.resize( h, h );	    p.begin( &dnBm );	    p.eraseRect( 0, 0, h, h );	    p.setBrush( color1 );	    int c = h/2;	    p.drawLine( 0, c, h, c );	    if ( !(h & 1) )		p.drawLine( 0, c-1, h, c-1 );	    p.end();	    upBm = dnBm;	    p.begin( &upBm );	    p.drawLine( c, 0, c, h );	    if ( !(h & 1) )		p.drawLine( c-1, 0, c-1, h );	    p.end();	}	else {	    int w = down->width()-4;	    if ( w < 3 )		return;	    else if ( !(w & 1) )		w--;	    w -= ( w / 7 ) * 2;		// Empty border	    int h = w/2 + 2;        // Must have empty row at foot of arrow	    dnBm.resize( w, h );	    p.begin( &dnBm );	    p.eraseRect( 0, 0, w, h );	    QPointArray a;	    a.setPoints( 3,  0, 1,  w-1, 1,  h-2, h-1 );	    p.setBrush( color1 );	    p.drawPolygon( a );	    p.end();#ifndef QT_NO_TRANSFORMATIONS	    QWMatrix wm;	    wm.scale( 1, -1 );	    upBm = dnBm.xForm( wm );#else	    upBm.resize( w, h );	    p.begin( &upBm );	    p.eraseRect( 0, 0, w, h );	    a.setPoints( 3,  0, h-2,  w-1, h-2,  h-2, 0 );	    p.setBrush( color1 );	    p.drawPolygon( a );	    p.end();#endif	}	QPixmapCache::insert( dnKey, dnBm );	QPixmapCache::insert( upKey, upBm );    }    down->setPixmap( dnBm );    up->setPixmap( upBm );}/*!  \reimp*/int QSpinBox::minValue() const{    return QRangeControl::minValue();}/*!  \reimp*/int QSpinBox::maxValue() const{    return QRangeControl::maxValue();}/*!  A convenience function which just calls  setRange( i, maxValue() )  \sa setRange()*/void QSpinBox::setMinValue( int i ){    setRange( i, maxValue() );}/*!  A convenience function which just calls  setRange( minValue(), i )  \sa setRange()*/void QSpinBox::setMaxValue( int i ){    setRange( minValue(), i );}/*!  \reimp*/int QSpinBox::lineStep() const{    return QRangeControl::lineStep();}/*!  Sets the line step to \e i.  Calls the virtual stepChange() function if the new line step is  different from the previous setting.  \sa lineStep() QRangeControl::setSteps() setRange()*/void QSpinBox::setLineStep( int i ){    setSteps( i, pageStep() );}/*!  \reimp*/int QSpinBox::value() const{    if ( edited ) {	QSpinBox *that = (QSpinBox*)this;	that->edited = FALSE;	that->interpretText();    }    return QRangeControl::value();}#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久人人97超碰com| 一区二区三区在线视频免费| 欧美国产日产图区| 日韩二区在线观看| 91免费观看视频在线| 久久亚洲精精品中文字幕早川悠里| 一区二区三区日韩精品视频| 国产91高潮流白浆在线麻豆| 欧美www视频| 免费国产亚洲视频| 欧美日韩免费在线视频| 一区在线中文字幕| 成人国产视频在线观看| 久久先锋影音av鲁色资源网| 婷婷亚洲久悠悠色悠在线播放| 99re在线精品| 国产精品欧美精品| 成人免费观看男女羞羞视频| 欧美v国产在线一区二区三区| 日韩高清一级片| 5858s免费视频成人| 香蕉久久一区二区不卡无毒影院 | 91精品国产综合久久福利| 亚洲综合一区二区三区| 色天天综合久久久久综合片| 亚洲欧美偷拍另类a∨色屁股| 成人av综合在线| 自拍偷在线精品自拍偷无码专区| 岛国精品一区二区| 亚洲欧洲日本在线| 日本黄色一区二区| 五月天久久比比资源色| 欧美一级在线视频| 精品在线亚洲视频| 日本一区二区免费在线| 99精品视频一区| 亚洲精品大片www| 欧美群妇大交群的观看方式| 蜜臀va亚洲va欧美va天堂| 欧美不卡一区二区| 成人性生交大片免费看中文| 日韩码欧中文字| 欧美三级电影精品| 久久99热99| 中文字幕制服丝袜一区二区三区 | 蜜臀av一区二区在线免费观看| 91精品婷婷国产综合久久性色| 日韩精品乱码免费| 久久久高清一区二区三区| 成人h动漫精品一区二| 亚洲精品中文在线影院| 欧美一区二区视频观看视频| 国产一区二区三区国产| 成人性视频免费网站| 一区二区三区资源| 日韩欧美国产精品一区| 成人亚洲精品久久久久软件| 一区二区三区在线视频免费观看| 欧美一区二区三区在线电影| 成人的网站免费观看| 亚洲人123区| 日韩女优毛片在线| 99久久精品一区二区| 午夜免费欧美电影| 国产精品污www在线观看| 色综合久久综合网| 欧美丰满美乳xxx高潮www| 国产精品综合二区| 亚洲激情网站免费观看| 久久先锋影音av| 欧美揉bbbbb揉bbbbb| 免费欧美在线视频| 亚洲美女免费在线| 国产三级三级三级精品8ⅰ区| 色妹子一区二区| 国产精品亚洲午夜一区二区三区| 亚洲一级二级三级在线免费观看| 日韩欧美在线1卡| 亚洲午夜免费福利视频| 久久久电影一区二区三区| 欧美制服丝袜第一页| 成人综合婷婷国产精品久久蜜臀| 亚洲自拍都市欧美小说| 久久先锋影音av鲁色资源网| 欧美午夜理伦三级在线观看| 国产精品99久久久| 免费一级片91| 中文字幕一区二区三中文字幕| 欧美久久久一区| 色999日韩国产欧美一区二区| 国产最新精品精品你懂的| 午夜精品在线看| 国产精品国产三级国产普通话三级 | 国产精品国产三级国产普通话99| 欧美高清精品3d| 在线一区二区三区四区| 久久国产精品72免费观看| 视频一区欧美日韩| 亚洲一区二区三区自拍| 亚洲欧美日韩在线播放| 亚洲天堂成人网| 亚洲欧美在线视频观看| 国产精品久久777777| 国产精品美女一区二区三区| 久久精品人人做人人爽97| 精品久久人人做人人爽| 日韩欧美一区二区三区在线| 91精品欧美一区二区三区综合在 | 亚洲国产成人91porn| 亚洲你懂的在线视频| 亚洲日韩欧美一区二区在线| 国产精品久久三| 亚洲欧洲www| 一区二区三区在线观看欧美| 亚洲视频免费在线观看| 一级做a爱片久久| 夜夜爽夜夜爽精品视频| 亚洲成av人片在线观看无码| 亚洲.国产.中文慕字在线| 婷婷久久综合九色国产成人| 三级一区在线视频先锋 | 亚洲h动漫在线| 天涯成人国产亚洲精品一区av| 日韩精品欧美精品| 精品一区二区三区免费播放| 久久精品国产精品亚洲综合| 久久精品国产亚洲一区二区三区| 久久精品国产99国产| 国产精品自在欧美一区| 99精品久久免费看蜜臀剧情介绍| 91猫先生在线| 91超碰这里只有精品国产| 精品成人佐山爱一区二区| 欧美国产精品中文字幕| 国产a精品视频| 色哟哟在线观看一区二区三区| 欧美日韩精品久久久| 亚洲精品一线二线三线| 欧美国产视频在线| 亚洲一二三区不卡| 韩国精品久久久| 91在线丨porny丨国产| 欧美高清一级片在线| 久久精品人人做| 欧美精品三级在线观看| 国产偷国产偷精品高清尤物 | 欧美日韩一区二区在线观看| 欧美一区二区三区系列电影| 国产精品亲子乱子伦xxxx裸| 午夜视频在线观看一区| 福利视频网站一区二区三区| 欧美三级日韩三级| 欧美经典三级视频一区二区三区| 亚洲图片有声小说| 粉嫩久久99精品久久久久久夜| 欧美三级视频在线观看| 国产欧美日韩不卡| 免费人成网站在线观看欧美高清| eeuss鲁片一区二区三区在线观看| 欧美日韩精品一区二区三区蜜桃| 国产女主播在线一区二区| 日本欧美久久久久免费播放网| 成人免费毛片app| www久久精品| 午夜精品福利久久久| 91在线你懂得| 久久先锋影音av鲁色资源网| 天天亚洲美女在线视频| 91视频在线看| 久久人人97超碰com| 免费欧美高清视频| 欧美色图一区二区三区| 综合色天天鬼久久鬼色| 国产在线精品一区二区| 欧美一区二区视频在线观看2022| 日韩毛片在线免费观看| 顶级嫩模精品视频在线看| 91精品啪在线观看国产60岁| 中文字幕日韩欧美一区二区三区| 国产成人啪免费观看软件| 精品免费99久久| 极品少妇xxxx偷拍精品少妇| 欧美日韩黄色影视| 亚洲国产wwwccc36天堂| 欧美中文一区二区三区| 亚洲人成小说网站色在线| www.综合网.com| 中文幕一区二区三区久久蜜桃| 国产毛片一区二区| 国产日韩欧美精品电影三级在线 | 日本高清成人免费播放| 国产精品乱人伦| 99久久精品国产一区二区三区| 国产精品美女久久久久久久网站| 国产一区二区三区香蕉| 久久精品日韩一区二区三区| 国产精品一色哟哟哟| 久久精品网站免费观看| 岛国精品在线观看| 亚洲图片激情小说|