日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

C++ Qt开发:SpinBox数值微调框组件

發布時間:2023/12/24 windows 43 coder
生活随笔 收集整理的這篇文章主要介紹了 C++ Qt开发:SpinBox数值微调框组件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Qt 是一個跨平臺C++圖形界面開發庫,利用Qt可以快速開發跨平臺窗體應用程序,在Qt中我們可以通過拖拽的方式將不同組件放到指定的位置,實現圖形化開發極大的方便了開發效率,本章將重點介紹QSpinBox精度數值組件的常用方法及靈活運用。

QSpinBox是Qt框架中的一個部件(Widget),用于提供一個方便用戶輸入整數值的界面元素。它通常以微調框(SpinBox)的形式展現,用戶可以通過微調框上的按鈕或手動輸入來增加或減少整數值。在實際使用中該控件主要用于整數或浮點數的計數顯示,與普通的LineEdit組件不同,該組件可以在前后增加特殊符號并提供了上下幅度的調整按鈕,靈活性更強。

使用場景:

  • 數值輸入: 適用于需要用戶輸入整數值的場景,如設置參數、調整數量等。
  • 調整參數: 在需要進行微小調整的地方,提供直觀的增減按鈕。
  • 限制輸入范圍: 當需要確保用戶輸入在一定范圍內時,可設置最小值和最大值。
  • 只讀展示: 可以用于只讀展示某個數值,不允許用戶修改。

以下是QSpinBox類的一些常用方法,說明并概述成表格:

方法 描述
QSpinBox(QWidget *parent = nullptr) 構造函數,創建一個整數微調框。
int value() const 獲取當前微調框中的整數值。
void setValue(int value) 設置微調框的整數值。
int minimum() const 獲取微調框的最小值。
void setMinimum(int min) 設置微調框的最小值。
int maximum() const 獲取微調框的最大值。
void setMaximum(int max) 設置微調框的最大值。
int singleStep() const 獲取單步步進值,即微調框在每次增減操作時的變化量。
void setSingleStep(int step) 設置單步步進值。
int prefix() const 獲取前綴(顯示在值之前的文本)。
void setPrefix(const QString &prefix) 設置前綴。
int suffix() const 獲取后綴(顯示在值之后的文本)。
void setSuffix(const QString &suffix) 設置后綴。
QString cleanText() const 獲取文本表示的干凈值,即不包含前綴和后綴的純文本值。
bool wrapping() const 檢查微調框是否啟用了循環,即在達到最大或最小值時是否繞回。
void setWrapping(bool on) 啟用或禁用微調框的循環。
void stepUp() 將微調框的值增加一個單步步進值。
void stepDown() 將微調框的值減少一個單步步進值。
void setAccelerated(bool on) 啟用或禁用加速,即按住上下箭頭時值的變化速度是否逐漸加快。
bool isAccelerated() const 檢查是否啟用了加速。
void setReadOnly(bool ro) 設置微調框為只讀模式,禁止用戶編輯值。
bool isReadOnly() const 檢查微調框是否為只讀模式。
void setAlignment(Qt::Alignment align) 設置微調框中文本的對齊方式。
Qt::Alignment alignment() const 獲取微調框中文本的對齊方式。
void setButtonSymbols(QAbstractSpinBox::ButtonSymbols bs) 設置增減按鈕的顯示方式。
QAbstractSpinBox::ButtonSymbols buttonSymbols() const 獲取增減按鈕的顯示方式。

這些方法涵蓋了QSpinBox類中一些常用的設置和獲取整數微調框屬性的功能。

接下來我將用一個簡單的案例展示如何使用SpinBox組件,該組件有兩個版本SpinBox()用于展示單精度浮點數,而DoubleSpinBox()則可以展示精度更高的數值,需要注意的是,該組件有兩個特殊參數,當使用setPrefix()時可以指定在前方加入特殊符號,而使用setSuffix()時則可以在后方追加特殊符號,我們就以后方追加為例,首先繪制一個窗體;

要實現計算流程很簡單,只需要在按鈕被觸發時直接調用on_pushButton_clicked()按鈕事件即可,其核心代碼如下所示;

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // 在組件后方設置$特殊符號
    ui->spinBox->setSuffix(" $");
    ui->spinBox_2->setSuffix(" $");
    ui->doubleSpinBox->setSuffix(" $");

    // 設置顯示精度
    ui->doubleSpinBox->setDecimals(6);
}

MainWindow::~MainWindow()
{
    delete ui;
}

// 觸發計算流程
void MainWindow::on_pushButton_clicked()
{
     int x = ui->spinBox->value();
     int y = ui->spinBox_2->value();

     double total = x+y;
     // 設置SpinBox數值(設置時無需轉換)
     ui->doubleSpinBox->setValue(total);
}

我們繼續在SpinBox的基礎上改進,如上代碼中每次都需要點擊計算按鈕才能出結果,此時的需求是當SpinBox中的參數發生變化時自定的完成計算,這里就需要用到信號和槽了,當SpinBox被修改后,自動觸發計算信號實現計算。該需求很容易被實現,只需要將信號綁定到特定的槽函數上即可,核心代碼如下所示;

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // 在組件后方設置$特殊符號
    ui->spinBox->setSuffix(" $");
    ui->spinBox_2->setSuffix(" $");
    ui->doubleSpinBox->setSuffix(" $");

    // 設置顯示精度
    ui->doubleSpinBox->setDecimals(6);

    // 始終不可編輯
    ui->doubleSpinBox->setEnabled(false);

    // 將數量和單價兩個SpinBox的valueChanged()信號與on_pushButton_clicked()槽關聯
    // 只要spinBox中的內容發生變化,則立即觸發按鈕完成計算
    QObject::connect(ui->spinBox,SIGNAL(valueChanged(int)),this,SLOT(on_pushButton_clicked()));
    QObject::connect(ui->spinBox_2,SIGNAL(valueChanged(int)),this,SLOT(on_pushButton_clicked()));
    QObject::connect(ui->doubleSpinBox,SIGNAL(valueChanged(double)),this,SLOT(on_pushButton_clicked()));
}

編譯并運行上述程序,當我們的兩個選擇框其中一個發生變化時,都會自動觸發信號與on_pushButton_clicked()實現計算,效果圖如下;

總結

以上是生活随笔為你收集整理的C++ Qt开发:SpinBox数值微调框组件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产91黄色 | 国产日韩一区二区在线观看 | 亚洲高清久久久 | 国产精品666 | 亚洲天堂中文字幕在线观看 | 一级中文字幕 | 大粗鳮巴久久久久久久久 | 色眯眯av| 在线观看av国产一区二区 | 摸丰满大乳奶水www免费 | 国产一区二区在线播放视频 | 黄色激情视频网站 | 人妻换人妻仑乱 | 日韩精品――色哟哟 | 96亚洲精品久久久蜜桃 | 人妻少妇无码精品视频区 | 免费黄色在线网址 | 校园春色欧美 | 911国产 | 日韩淫片 | 国产女女做受ⅹxx高潮 | 无码精品人妻一区二区三区湄公河 | 免费欧美大片 | 777精品久无码人妻蜜桃 | 成人深夜网站 | 粉嫩久久99精品久久久久久夜 | xxxx69国产| 久久精品国产露脸对白 | 国产无遮挡a片又黄又爽 | 日韩av无码中文字幕 | 欧美色爽 | 亚洲无毛 | 日韩中文字幕网 | 漂亮少妇高潮午夜精品 | 91视频免费网址 | 日韩美女少妇 | 一级黄色片在线观看 | 亚洲一区亚洲二区 | 狠狠视频 | 神马午夜在线观看 | 久久久久精彩视频 | 成人欧美一区二区三区黑人孕妇 | 偷拍自拍一区 | 日本高清视频免费观看 | 日韩欧美久久精品 | 国产精品一区二区6 | 在线观看的毛片 | 成人字幕 | 国产一区二区三区视频在线 | 国产私人影院 | 精品久久综合 | 曰女同女同中文字幕 | 永久免费精品视频 | 日韩另类视频 | 欧美色欧美色 | va在线视频 | 免费毛片观看 | 免费网站观看www在线观看 | 久久3p| 中文在线а√天堂官网 | 日韩久操 | 欧美成人黑人猛交 | 天堂av免费看 | 视频在线观看一区二区 | 特黄三级又爽又粗又大 | 91久久精品夜夜躁日日躁欧美 | 中日韩精品一区二区三区 | 青青草华人在线 | 韩日视频一区 | 99在线视频播放 | 人妻久久久一区二区三区 | 无码人妻精品一区二区三区9厂 | 欧美中字 | 好男人www日本 | 极品尤物魔鬼身材啪啪仙踪林 | 热の国产 | 最新中文字幕免费 | 爱爱视频网址 | 日韩av二区 | gv天堂gv无码男同在线观看 | 久草精品在线观看视频 | 人人妻人人爽欧美成人一区 | 欧美激情视频网站 | 免费在线观看a级片 | 偷拍第一页 | 国产精品亲子伦对白 | 污污网站在线免费观看 | 国产精品99视频 | 深夜啪啪| 欧美一卡二卡在线观看 | av中文资源网 | 国产高潮视频 | 亚洲AV成人无码电影在线观看 | 中文字幕在线观看第一页 | 男女作爱网站 | 成人高清网站 | 亚洲欧美乱综合图片区小说区 | 日本人妻丰满熟妇久久久久久 | 91涩涩视频|