国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Qt|QLineEdit輸入限制以及給出提示并復原值

這篇具有很好參考價值的文章主要介紹了Qt|QLineEdit輸入限制以及給出提示并復原值。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

參考:Qt中LineEdit編輯框限制數(shù)字輸入整理
運行環(huán)境:win10,VS2022,QT6.3
2022/1/12 添加槽函數(shù)版本,要獲取發(fā)送者。方便復用,可多個lineedit連同一個槽函數(shù)。
qt編輯框輸入限制,C/C++/qt,qt,ui,開發(fā)語言
ui界面布局,就放了一個qlineEdit和一個button
qt編輯框輸入限制,C/C++/qt,qt,ui,開發(fā)語言
undoTest.h

#pragma once

#include <QtWidgets/QMainWindow>
#include "ui_undoTest.h"

class undoTest : public QMainWindow
{
    Q_OBJECT

public:
    undoTest(QWidget *parent = Q_NULLPTR);
    
	// 設置lineedit輸入范圍
	void SlotLineEditLimit();
private:
    Ui::undoTestClass ui;
};

undoTest.cpp

//#pragma execution_character_set("utf-8")
#include "undoTest.h"
#include <QRegularExpression>
#include <QRegularExpressionValidator>
#include <QtCore5Compat\QRegExp>
#include <QMessageBox>
#include <QObject>
#include <QValidator>

undoTest::undoTest(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);

    //qt5方法
    //QRegExp qregexp("[0-9\\.-]+$");
    //QValidator* validator = new QRegExpValidator(qregexp);
    //qt6方法
    QRegularExpression regExp("[0-9\\.-]+$");
    QRegularExpressionValidator* validator = new QRegularExpressionValidator(regExp, this);
    ui.lineEdit->setValidator(validator);

    connect(ui.lineEdit, &QLineEdit::editingFinished, [=](void) {
        double val = ui.lineEdit->text().toDouble();
        if (val<0||val>100)
        {
            QMessageBox box(QMessageBox::Information, QString::fromUtf8("提示"),
                QString::fromUtf8("請輸入1-100范圍內的數(shù)字!"), QMessageBox::Ok, this);
            box.exec();
            ui.lineEdit->setFocus();
            ui.lineEdit->setCursorPosition(ui.lineEdit->text().size());
            ui.lineEdit->selectAll();
            ui.lineEdit->undo();
        }
    });
    // or
    connect(ui.lineEdit, &QLineEdit::editingFinished, this, &undoTest::SlotLineEditLimit);

}
void undoTest::SlotLineEditLimit()
{
	QLineEdit * this_lineedit = qobject_cast<QLineEdit*>(sender());
	double val = this_lineedit->text().toDouble();
	if (val < 1 || val>100)
	{
		QMessageBox box(QMessageBox::Information, QString::fromUtf8("提示"),
			QString::fromUtf8("請輸入1-100范圍內的數(shù)字!"), QMessageBox::Ok, this);
		box.exec();
		this_lineedit->setFocus();
		this_lineedit->setCursorPosition(this_lineedit->text().size());
		this_lineedit->selectAll();
		this_lineedit->undo();
	}
}

main.cpp文章來源地址http://www.zghlxwxcb.cn/news/detail-647374.html

#include "undoTest.h"
#include <QtWidgets/QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    undoTest w;
    w.show();
    return a.exec();
}

到了這里,關于Qt|QLineEdit輸入限制以及給出提示并復原值的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Qt——QLineEdit控件常見的屬性、方法和信號

    一、QLineEdit控件常見屬性和方法 二、QLineEdit控件常見信號 QLineEdit:單行文本輸入框控件 1. text: 描述:獲取或設置文本框中的文本內容。 用法:可以使用 setText() 方法設置文本框的文本內容,或使用 text() 方法獲取文本框中當前的文本。 2. placeholderText: 描述:設置一個占位

    2024年02月11日
    瀏覽(20)
  • Qt之輸入框帶自動補全提示功能

    Qt之輸入框帶自動補全提示功能

    ? ? 這個功能主要是提升人機交互的體驗,在輸入信息時,自動讀取歷史信息,協(xié)助用戶自動補全信息,幫助用戶快速輸入。 使用QComboBox代替?zhèn)鹘y(tǒng)文本輸入框,同時將其屬性改為可編輯。 可以不輸入信息,下拉選擇項 :代碼中使用QStringList作為提示信息的輸入,將其添加到

    2024年03月11日
    瀏覽(21)
  • QT 如何讓QLineEdit的文字從最左邊開始顯示

    QT 如何讓QLineEdit的文字從最左邊開始顯示

    當QLineEdit的文字長度超過了控件寬度,一般而言(控件文字設為靠左對齊),用戶只能看到這一長串文字的后半段部分。但是如果想讓QLineEdit從最左邊開始顯示字符串內容呢? 舉個例子,\\\"abcdefghijklmnopqrstuvwxyz0123456789\\\"這一長串字符串,在QLineEdit中顯示時,可能只能看到“012

    2024年01月18日
    瀏覽(40)
  • 【Qt6】工具提示以及調色板設置

    【Qt6】工具提示以及調色板設置

    工具提示即 Tool Tip,當用戶把鼠標移動到某個UI對象上并懸停片刻,就會出現(xiàn)一個“短小精悍”的窗口,顯示一些說明性文本。一般就是功能描述,讓用戶知道這個XX是干啥用的。 在 Qt 中使用工具提示最方便的做法是直接用 QWidget 類的成員方法:setToolTip。從 QWidget 類派生的組

    2024年02月11日
    瀏覽(77)
  • Qt窗體全屏與復原,子窗體全屏與復原

    Qt窗體全屏與復原,子窗體全屏與復原

    QT QWidget窗體全屏時,全屏與最大化的區(qū)別時最大化有標題框全屏沒有框,可以使用自帶的函數(shù): 復原時也有專門的函數(shù): 1. 點擊窗體最大化按鈕實現(xiàn)全屏,按下ESC實現(xiàn)復原 如果我想在點擊最大化按鈕時,讓窗體全屏。這個時候最好有線程的信號或者函數(shù),通過它們來調用

    2024年02月13日
    瀏覽(18)
  • 運行QT的.exe程序出現(xiàn)缺少動態(tài)鏈接庫以及無法定位程序輸入點的兩種不同情況的解決辦法

    運行QT的.exe程序出現(xiàn)缺少動態(tài)鏈接庫以及無法定位程序輸入點的兩種不同情況的解決辦法

    一、出現(xiàn)無法定位程序輸入點的錯誤 出現(xiàn)這種情況是因為下面的設置造成的 因為QtCreator的環(huán)境變量在mingw環(huán)境變量的上方造成的。 具體解決辦法是將上面的環(huán)境變量下移即可。 至于為什么會這樣,可以自行查找啦。 二、出現(xiàn)缺少動態(tài)鏈接庫dll的錯誤 在加入mingw-64的環(huán)境變量

    2024年02月04日
    瀏覽(32)
  • VS基于Qt上創(chuàng)建項目出現(xiàn)紅波浪線線及項目創(chuàng)建不了的問題,給出個人的一個解決方法供給大家參考

    VS基于Qt上創(chuàng)建項目出現(xiàn)紅波浪線線及項目創(chuàng)建不了的問題,給出個人的一個解決方法供給大家參考

    (1)我電腦上的Visual studio 2015和Qt Creator這兩個軟件都是安裝成功可以編譯運行的。 我也在Visual studio 2015平臺 》 工具 -》》 更新與擴展 那里下載了Qt VS Tools,路徑什么的都指定好了但是同樣創(chuàng)建不了。 (2)過一段時間這時候我又重新把Qt VS Tools卸載重新安裝, 安裝好之后重

    2024年02月07日
    瀏覽(32)
  • vue前端el-input輸入 限制輸入位數(shù)以及輸入規(guī)則

    前端兼容el-input輸入時,僅允許輸入負號、數(shù)字以及小數(shù)點,且限制整數(shù)位數(shù)以及小數(shù)位數(shù),且不允許輸入除第一個負號以外的其他符號 1、使用element-ui插件的el-input組件作為頁面元素,為其綁定input事件(我這里是在表格里使用slot插入的inpu元素,所以傳入?yún)?shù)使用scope傳入)

    2024年02月09日
    瀏覽(24)
  • C# 限制輸入為字母或數(shù)字以及長度

    日常開發(fā)過程中,驗證字符的合法性一直是一個必不可少的步驟,以前都是在用戶輸入完再做判斷,不僅麻煩在不符合標準的時候還要提示用戶修改,體驗很差,為什么不在輸入的時候加以限制呢? 以 Winform 的 TextBox 控件為例,這里提供兩種方案: 通過字符匹配 正則表達式

    2023年04月13日
    瀏覽(31)
  • qt學習:QT對話框+顏色+文件+字體+輸入

    qt學習:QT對話框+顏色+文件+字體+輸入

    目錄 概述 繼承圖 QColorDialog 顏色對話框 QFileDialog 文件對話框 保存文件對話框 QFontDialog 字體對話框 QInputDialog 輸入對話框 對于對話框的功能,在GUI圖形界面開發(fā)過程,使用是非常多,那么Qt也提供了豐富的對話框類 QDialog是所有對話框的基類 QWidget? QDialog QColorDialog 顏色對話框

    2024年01月21日
    瀏覽(94)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包