Qt入門系列開發(fā)教程【基礎(chǔ)控件篇】QSpinBox旋轉(zhuǎn)框

      網(wǎng)友投稿 1931 2025-03-31

      描述

      QSpinBox 旨在處理整數(shù)和離散值集(例如,月份名稱);將 QDoubleSpinBox 用于浮點(diǎn)值。

      QSpinBox 允許用戶通過單擊向上/向下按鈕或按鍵盤上的向上/向下鍵來增加/減少當(dāng)前顯示的值。用戶也可以手動輸入值。旋轉(zhuǎn)框支持整數(shù)值,但可以通過 validate()、textFromValue() 和 valueFromText() 擴(kuò)展為使用不同的字符串

      每次值更改時,QSpinBox 都會發(fā)出 valueChanged() 和 textChanged() 信號,前者提供一個 int,后者提供一個 QString。 textChanged() 信號提供帶有 prefix() 和 suffix() 的值。可以使用 value() 獲取當(dāng)前值并使用 setValue() 設(shè)置。

      單擊向上/向下按鈕或使用鍵盤加速器的向上和向下箭頭將增加或減少當(dāng)前值,步長為 singleStep()。如果你想改變這種行為,你可以重新實(shí)現(xiàn)虛函數(shù) stepBy()。可以使用構(gòu)造函數(shù)之一設(shè)置最小值和最大值以及步長,稍后可以使用 setMinimum()、setMaximum() 和 setSingleStep() 進(jìn)行更改。

      大多數(shù)旋轉(zhuǎn)框是定向的,但 QSpinBox 也可以作為圓形旋轉(zhuǎn)框運(yùn)行,即如果范圍為 0-99,當(dāng)前值為 99,如果 wrapping() 設(shè)置為 true,則單擊“向上”將給出 0。如果您想要循環(huán)行為,請使用 setWrapping()。

      Qt入門系列開發(fā)教程【基礎(chǔ)控件篇】QSpinBox旋轉(zhuǎn)框

      顯示的值可以添加任意字符串,例如貨幣或計量單位。請參閱 setPrefix() 和 setSuffix()。旋轉(zhuǎn)框中的文本使用 text()(包括任何 prefix() 和 suffix())或 cleanText()(沒有 prefix()、suffix() 并且沒有前導(dǎo)或尾隨空格)檢索。

      除了數(shù)值范圍之外,通常還需要給用戶一個特殊的(通常是默認(rèn)的)選擇。有關(guān)如何使用 QSpinBox 執(zhí)行此操作,請參閱 setSpecialValueText()。

      如果使用 prefix()、suffix() 和 specialValueText() 不能提供足夠的控制,您可以繼承 QSpinBox 并重新實(shí)現(xiàn) valueFromText() 和 textFromValue()。 例如,這是一個自定義旋轉(zhuǎn)框的代碼,它允許用戶輸入圖標(biāo)大小(例如,“32 x 32”):

      int IconSizeSpinBox::valueFromText(const QString &text) const { static const QRegularExpression regExp(tr("(\\d+)(\\s*[xx]\\s*\\d+)?")); Q_ASSERT(regExp.isValid()); const QRegularExpressionMatch match = regExp.match(text); if (match.isValid()) return match.captured(1).toInt(); return 0; } QString IconSizeSpinBox::textFromValue(int value) const { return tr("%1 x %1").arg(value); }

      API

      //清除文本 QString cleanText() const //此屬性保存用于顯示旋轉(zhuǎn)框值的基數(shù) int displayIntegerBase() const //獲取最大值 int maximum() const //獲取最小值 int minimum() const //獲取前綴 QString prefix() const //設(shè)置進(jìn)制數(shù) void setDisplayIntegerBase(int base) //設(shè)置最大值 void setMaximum(int max) //設(shè)置最小值 void setMinimum(int min) //設(shè)置后綴 void setPrefix(const QString &prefix) //設(shè)置范圍 void setRange(int minimum, int maximum) //設(shè)置步長 void setSingleStep(int val) //設(shè)置 單步或自適應(yīng)小數(shù)步。 void setStepType(QAbstractSpinBox::StepType stepType) //設(shè)置前綴 void setSuffix(const QString &suffix) //獲取步長 int singleStep() const //獲取步長類型 QAbstractSpinBox::StepType stepType() const //獲取前綴 QString suffix() const //獲取值 int value() const

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:Excel數(shù)據(jù)透視表反向求和技術(shù)
      下一篇:mac新手教程——PDF如何合并、加密、壓縮?
      相關(guān)文章
      夜色阁亚洲一区二区三区| 亚洲国产精品网站久久| 亚洲乱码一二三四区乱码| 亚洲网址在线观看| 亚洲国产综合专区在线电影| 久久香蕉国产线看观看亚洲片| 亚洲精品无码永久在线观看你懂的| 亚洲乱码中文字幕手机在线 | 亚洲精品岛国片在线观看| 另类专区另类专区亚洲| 另类专区另类专区亚洲| 日韩亚洲精品福利| 亚洲女同成人AⅤ人片在线观看| 亚洲?V无码成人精品区日韩 | 亚洲综合色区在线观看| 超清首页国产亚洲丝袜| 亚洲欭美日韩颜射在线二| 亚洲精品乱码久久久久久自慰 | 亚洲精品无码专区在线| 久久亚洲色WWW成人欧美| 男人的天堂亚洲一区二区三区| 亚洲大尺度无码无码专线一区| 色欲色欲天天天www亚洲伊| 国产综合成人亚洲区| 亚洲精品国产成人影院| 国产亚洲美女精品久久久| 亚洲人成色77777| 亚洲成年轻人电影网站www| 中文字幕亚洲精品资源网| 亚洲乱码日产精品BD在线观看| 学生妹亚洲一区二区| 久久精品国产亚洲AV天海翼| 亚洲国产香蕉人人爽成AV片久久 | 亚洲精品无码精品mV在线观看| 无码专区—VA亚洲V天堂| 亚洲国产精品午夜电影| 波多野结衣亚洲一级| 国产精品亚洲va在线观看| 久久久精品国产亚洲成人满18免费网站 | 国产亚洲美女精品久久久| 亚洲AV日韩AV天堂久久|