Excel如何設(shè)置動態(tài)求和 Excel設(shè)置動態(tài)求和方法
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()。
顯示的值可以添加任意字符串,例如貨幣或計量單位。請參閱 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)容。