请问如何限制QTextEdit只能输入数字,字母而不能输入中文字?

面向未来_ 2010-07-22 12:11:26
请问如何限制QTextEdit只能输入数字,字母而不能输入中文字?网上查了下也是
QIntValidator, QDoubleValidator, and QRegExpValidator

QValidator *validator = new QIntValidator(100, 999, this);
QLineEdit *edit = new QLineEdit(this);

// the edit lineedit will only accept integers between 100 and 999
edit->setValidator(validator);

这里只能限制数字,如果有更多的限制呢?



关于QRegExpValidator,我这里有个例子:
1 QRegExpValidator *validator;
2 validator = new QRegExpValidator(QRegExp("[0-9A-Fa-f]{1,8}"), this);//有两个构造函数,QRegExpValidator ( QObject * parent )和
//QRegExpValidator ( const QRegExp & rx, QObject * parent ),这
//里用的是第2个
3 validator->validate(text, pos);
****************************************************************************************
QValidator的枚举类型:
enum QValidator::State
This enum type defines the states in which a validated string can exist.


QValidator::Invalid 0 The string is clearly invalid.
QValidator::Intermediate 1 The string is a plausible intermediate value during editing.
QValidator::Acceptable 2 The string is acceptable as a final result; i.e. it is valid.

QValidator::State QRegExpValidator::validate ( QString & input, int & pos ) const [virtual]这是一个有着枚举类型返回值的虚函数。

Returns Acceptable if input is matched by the regular expression for this validator, Intermediate if it has matched partially (i.e. could be a valid match if additional valid characters are added), and Invalid if input is not matched.
The pos parameter is set to the length of the input parameter.
pos参数用来设置输入参数的长度。
For example, if the regular expression is \w\d\d (word-character, digit, digit) then "A57" is Acceptable, "E5" is Intermediate, and "+9" is Invalid.
Reimplemented from QValidator.
...全文
3024 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuguangzhou123 2011-12-31
  • 打赏
  • 举报
回复
求知道。。。
cheng20100915 2010-08-02
  • 打赏
  • 举报
回复
帮你顶帖
james2222 2010-07-27
  • 打赏
  • 举报
回复
顶一顶..
打开链接下载源码: https://pan.quark.cn/s/49179af3c987 在Qt框架,Widgets被视为构建用户界面(UI)的关键组成部分,它们具备多样化的功能与高度的适应性,使开发者能够设计出既美观又功能完备的应用程序。 本案例将主要聚焦于Qt常见的控件,借助具体的代码实例来阐释如何运用这些控件。 接下来我们将详细研究其的核心概念。 1. **QWidget** - 作为所有Qt窗口组件的根类,它确立了基础的属性与操作方法,涵盖尺寸、位置及可见性等特征。 虽然可以直接利用QWidget来构建个性化的控件,但通常情况下,更多地是通过继承其派生类来实现。 2. **QLabel** - 适用于展示文本、图像或HTML文档。 能够设定文本的对齐方式与样式,并且可以与鼠标及键盘事件进行互动。 3. **QPushButton** - 用于生成按钮,支持显示文字、图标,或两者的结合。 能够与信号和槽相连接,以便处理点击操作。 4. **QLineEdit** - 提供单行文本输入的界面,常用于收集用户的输入信息。 能够设定输入的约束条件,比如仅接受数字字母。 5. **QTextEdit** - 适用于多行文本的编辑,支持丰富的文本格式,能够插入图片、链接等元素,常用于开发文本编辑工具或日记应用。 6. **QCheckBox** 和 **QRadioButton** - 分别代表复选框与单选按钮,用于提供多个选项供用户选择。 QCheckBox允许多选,而QRadioButton则限制为单选。 7. **QComboBox** - 下拉列表框,用户可从选择预设的选项之一。 支持动态地增加或移除选项。 8. **QSpinBox** 和 **QDoubleSpinBox** -...

3,425

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧