Qt中QLineEdit使用总结

不说废话,下面是Qt官方文档中的一段话——

QLineEdit是一个单行文本编辑控件。

使用者可以利用很多函数,对其中的单行文本进行输入和编辑,包括撤销、恢复、剪切、粘贴以及拖放等。

通过改变lineEdit的echoMode(),可以设置其属性,比如输入的是密码还是普通文本。

文本的长度可以由maxLength()限制,可以通过使用validator()或者inputMask()可以限制它只能输入数字。在对同一个lineEdit的validator或者inputMask进行转换时,最好先将它的validator或者inputMask清除,以避免错误发生。

与QLineEdit相关的一个类是QTextEdit,它允许多行文字以及富文本编辑。

我们可以使用setText()或者insert()改变其中的文本,使用text()获得文本,使用displayText()获得显示的文本,使用setSelection()或者selectAll()选中文本,选中的文本可以使用cut()、copy()、paste()进行剪切、复制和粘贴,使用setAlignment()设置文本的位置。

文本改变时会发出textChanged()信号;如果不是由setText()造成文本的改变,那么会发出textEdit()信号;鼠标光标改变时会发出cursorPostionChanged()信号;当返回键或者回车键按下时,会发出returnPressed()信号。

当编辑结束,或者因为lineEdit失去焦点,或者返回/回车键按下时,将会发出editFinished()信号。

下面分点说明:

1.setPlaceholderText()设置提示文字

比如上面豆瓣电影的搜索输入框,没有文字时显示“电影、影人、影院、电视剧”,有文字输入后不会再看到这几个字。

echoLineEdit->setPlaceholderText("电影、影人、影院、电视剧");

2.setEchoMode()设置模式

switch (index) {
    case 0:
        //默认,输入什么即显示什么
        echoLineEdit->setEchoMode(QLineEdit::Normal);
        break;
    case 1:
        //密码,一般是用小黑点覆盖你所输入的字符
        echoLineEdit->setEchoMode(QLineEdit::Password);
        break;
    case 2:
        //编辑时输入字符显示输入内容,否则用小黑点代替
        echoLineEdit->setEchoMode(QLineEdit::PasswordEchoOnEdit);
        break;
    case 3:
        //任何输入都看不见(只是看不见,不是不能输入)
        echoLineEdit->setEchoMode(QLineEdit::NoEcho);
    }

3.setAlignment()设置文本位置

switch (index) {
    case 0:
        alignmentLineEdit->setAlignment(Qt::AlignLeft);
        break;
    case 1:
        alignmentLineEdit->setAlignment(Qt::AlignCenter);
        break;
    case 2:
        alignmentLineEdit->setAlignment(Qt::AlignRight);
    }

4.setReadOnly()设置能否编辑

switch (index) {
    case 0:
        accessLineEdit->setReadOnly(false);
        break;
    case 1:
        accessLineEdit->setReadOnly(true);
    }
时间: 2024-10-13 16:39:50

Qt中QLineEdit使用总结的相关文章

qt中qlineedit和qtextedit右键菜单翻译成中文

没有linguist需要安装Linguist: 在Terminal中输入: sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer 其中: qt4-dev-tools 中包括了Qt Assistant,Qt Linguist,Qt Creator     qt4-doc 这个是帮助文档     qt4-qtconfig Qt的配置工具,这个装好默认好     qt4-demos 官方的一些Dem

第47课 Qt中的调色板

1. QPalette类 (1)QPalette类提供了绘制QWidget组件的不同状态所使用的颜色. (2)QPalette对象包含了3个状态的颜色描述 ①激活颜色组(Active):组件获得焦点使用的颜色搭配方案 ②非激活颜色组(Inactive):组件失去焦点使用的颜色方案 ③失效颜色组(Disabled):组件处于不可用状态使用的颜色方案 2.QPalette类中颜色组用途 (1)QPalette类中的颜色组定义了组细节的颜色值 (2)QPalette::ColorRole中的常量值用于

第39课 Qt中的事件处理(下)

1. 事件的传递过程 (1)操作系统检测到用户动作时,会产生一条系统消息,该消息被发送到Qt应用程序 (2)Qt应用程序收到系统消息后,将其转化为一个对应的事件对象,并将其分发出去. (3)事件对应被分发到当前正在操作的窗口部件上,该窗口部件会调用event函数来处理,然后,在这个函数内部又会调用其他的子函数(如KeyPress或mouseReleaseEvent)来进行具体的处理. (4)event函数处理完后,可能会将当前事件传递给父组件(parent)对象.但这个过程只是一种可能,也就是有

Qt中显示复杂列表

提要 最近想要完成的一个项目需要显示一个列表,可以动态增减,可编辑,有checkbox.类似于这样 或者这样 但网上的例子都是这样 和这样 ... 最后实现的效果: QListWidget解决方案 在Android实现这样的列表是非常简单的,首先定义布局XML,然后再定义一个Adapter就可以了. Qt中类似的解决方案就是QListWidget. 自定义一个Widget类作为Item,比如 class UsersListItem : public QWidget { Q_OBJECT publ

Qt 中一些常用类中文说明

Qt 中一些常用类中文说明是本文讲述的内容,这篇文章主要是介绍Qt 当中经常使用的类,采取的是使用字母索引的方式,下面的类是被经常使用的. QDataStream 为QIODevice提供了一串的二进制的数据 QDataWidgetMapper 提供了从数据模型到部件的映射 QData 日期的功能 QDateEdit 提供了日期的部件用来编辑日期,是基于QDateTimeEdit 部件 QDateTime 提供日期与时间的功能 QDateTimeEdit 提供了编辑日期与实践的部件 QDBusA

QT中的各种对话框

大家可以参见QT中各种MessageBox的使用的这篇文章 界面效果图如下,大家可以用代码自己操作 diglog.h #ifndef DIALOG_H #define DIALOG_H #include <QDialog> QT_BEGIN_NAMESPACE class QCheckBox; class QLabel; class QErrorMessage; QT_END_NAMESPACE class Dialog : public QDialog { Q_OBJECT public:

第十一课、Qt中的字符串类

一.历史遗留的问题及解决方案 1.遗留的问题 (1).C语言不支持真正意义上的字符串 (2).C语言用字符数组和一组函数实现字符串操作 (3).C语言不支持自定义类型,因此无法获得字符串类型 2.解决方案 (1).从c到c++进化过程中引入了自定义类型 (2).在c++中可以通过类来完成字符串的定义 3.标准库STL (1).STL是意义上需要与c++一同发布的标准库 (2).STL是一套以模板技术完成的c++类库 (3).STL包含了常用的算法和数据结构 (4).STL包含了字符串类 4.Qt

6.关于QT中的内存管理,动态的制作,动态库的调用,静态库的制作

 一  QT的内存管理 1  QT中的内存管理是QObject来管理的 2  QT中的内存管理没有cocos2dx中的引用计数 3  组件可以指定父对象 QTimer *timer = QTimer(this);   //这里的this实际上强制转换成为了QObject了. 4  每一个对象都有一个deleteLater()方法, QLineEdit* edit = new QLineEdit(this); delete edit;   //这里的delete马上调用析构函数对内存进行释放

初探Qt中的消息处理

Qt消息模型Qt封装了具体操作系统的消息机制Qt遵循经典的GUI消息驱动事件模型 如果你只关注两头,即用户做某个操作,那么应用程序中的消息处理函数将被调用. Qt中如何表示用户消息?用字符串来描述消息Qt中如何映射用户消息到消息处理函数?connectQt中消息映射需要遵循什么规则? 信号与槽Qt中定义了与系统消息相关的概念——信号(Signal) 由操作系统产生的消息——槽(Slot) 程序中的消息处理函数——连接(Connect) 将系统消息绑定到消息处理函数 Qt中的消息处理机制 信号到槽