精华内容
下载资源
问答
  • 想点击lineEdit选中全部文本, 使用selectAll()发现无效 参考:https://stackoverflow.com/questions/35653331/qlineedit-selectall-doesnt-work 得到解决 应该是全选被点击的鼠标事件给取消了 所以FocusIn中添加...

    想点击lineEdit选中全部文本,
    使用selectAll()发现无效
    参考:https://stackoverflow.com/questions/35653331/qlineedit-selectall-doesnt-work
    得到解决
    应该是全选被点击的鼠标事件给取消了
    所以FocusIn中添加以下代码

    //我这里使用eventFilter函数
    	if(event->type()==QEvent::FocusIn)
        {
             QTimer::singleShot( 0,[=]() mutable{
                 lineEdit->selectAll();
             });
         }
    
    展开全文
  • QTLineEdit学习

    千次阅读 2019-10-09 09:26:34
    1、设置不可编辑 ...setFocusPolicy(Qt::NoFocus);//无法获得焦点,自然无法输入,其他文本控件类似 //或 hasAcceptableInput(false); 2、提示文字 setPlaceholderText() 3、输入格式控制 setIn...

     

    1、设置不可编辑

    setReadOnly(false); 
    //或 
    setEnabled(false); 
    //或  
    setFocusPolicy(Qt::NoFocus);//无法获得焦点,自然无法输入,其他文本控件类似 
    //或 
    hasAcceptableInput(false);

    2、提示文字

    setPlaceholderText()

    3、输入格式控制

    setInputMask("00.00%");

    4、设置可以输入的最多字符数

    setMaxLength()

    5、设置文本对齐方式

    lineedit->setAlignment(Qt::AlignLeft)//左对齐 
    lineedit->setAlignment(Qt::AlignRight)//右对齐  
    lineedit->setAlignment(Qt::AlignCenter)//居中对齐 

    简单的使用实例:

     ui->lineEdit->setText("11");//设置默认值
     QString str;
     str=ui->lineEdit->text();//获取输入的值

    附:

    1.void setClearButtonEnabled(bool); //是否设置一个清空按钮. 
    点击这个清空按钮后,就会自动删除行编辑框内的所有内容,类似于clear(). 

    2.void setEchoMode(QLineEdit::EchoMode); //设置行编辑框内文本的显示模式. 
    如图两种显示模式是最常用的模式.分别为:QLineEdit::Normal,QLineEdit::Password.默认为QLineEdit::Normal. 

    3.void setAlignent(Qt::Alignment flag); //设置文本输入的位置.

    4.void setValidator(QVaildator*); //设置输入验证器.(很重要!!)(具体用法在后一篇代码实现中会讲到).

    5.void setPlaceText(QString); //设置占位符. 

    6.void setText(QString); //设置行编辑框内的文本.

    7.void setReadOnly(bool); //把该行编辑框设置为只读模式,无法进行编辑.

    8.void setEnabled(bool); //设置是否激活行编辑框,作用和7类似.

    9.void setContextMenuPolicy(Qt::NoContextMenu). //设置该行编辑框内不会出现菜单.(密码输入里必用).

    10.void setDragEnabled(bool); //设置行编辑框内的被选择的文本能否被拖拽,默认不能被拖拽.

    11.void setAcceptDrops(bool); //设置行编辑框能否被拖拽进来文本.

    12.bool isModified(); //判断文本是否被修改.

    13.void selectAll(); //选中框内所有文本.

    14.QString displayText(); //返回显示的文本.

    15.QString selectedText(); //返回被选中的文本.

    信号: 

    1.void cursorPositionChanged(int old, int new); //光标位置改变就发现信号.

    2.void returnPressed(); //光标在行编辑框内时,点击回车即发出信号.

    3.void selectionChanged() //选择的文本发生变化时,发出信号.

    4.void textChanged(const QString & text) //文本发生变化时,发出信号.

    参考:1、https://blog.csdn.net/qq_40194498/article/details/79792419

               2、https://blog.csdn.net/zhao2018/article/details/82725552

    展开全文
  • QT Lineedit 单行文本编辑框

    万次阅读 多人点赞 2018-08-02 18:42:20
    新建项目文件,打开ui图形界面,拖入lineedit控件,选中lineedit对象,右键选择“转到槽”,可以看到lineedit有6个信号函数。 表格参考:https://blog.csdn.net/liang19890820/article/details/520446...

    一、简介

    二、信号函数

    三、常用类成员函数


    一、简介

    QLineEdit类提供单行文本编辑框。

    二、信号函数

    新建项目文件,打开ui图形界面,拖入lineedit控件,选中lineedit对象,右键选择“转到槽”,可以看到lineedit有6个信号函数。

    表格参考:https://blog.csdn.net/liang19890820/article/details/52044639

    1void cursorPositionChanged(int old, int new) 

    光标位置改变,发射信号。

    前面的位置old,新的位置是new。

    2void editingFinished( )当编辑完成点回车,发射信号。
    3

    void returnPressed( )

    光标在行编辑框内点回车,发射信号。
    4void selectionChanged( ) 选择的文本发生变化时,发射信号。
    5

    void textChanged(const QString & text)

    文本内容改变时,发射信号。
    6void textEdited(const QString & text)

    当文本被编辑时,发射该信号。

    当使用setText()改变文本时,textEdited()信号也会发射。

    下面分别使用后五个信号。在ui界面拖入10个lineedit,分两列(对象名按顺序设置成line11~line15,line21~line25)。界面设计如下所示:

    其中第一列为信号栏,为别转到槽函数(函数分别与左侧对应);第二列为触发信号栏,若信号栏信号被触发,则会显示被触发的信息。

    槽函数代码如下:

    //编辑完成或点回车,触发信号
    void MainWindow::on_line11_editingFinished()
    {
        ui->line12->setText("左边的被触发了");
    }
    //光标在编辑框内点回车,触发信号
    void MainWindow::on_line21_returnPressed()
    {
        ui->line22->setText("左边的被触发了");
    }
    //选择文本内容发生了改变,触发信号
    void MainWindow::on_line31_selectionChanged()
    {
         ui->line32->setText("左边的被触发了");
    }
    //编辑框文本内容了改变,触发信号
    void MainWindow::on_line41_textChanged(const QString &arg1)
    {
        ui->line42->setText("左边的被触发了");
    }
    //编辑文本时,触发信号
    void MainWindow::on_line51_textEdited(const QString &arg1)
    {
        ui->line52->setText("左边的被触发了");
    }

     

    点击运行,结果如下,当触发条件满足时,第二栏就会有显示。

    问题:textChang()与textEdited()、returnPressed()与editingFinish()可实现一些相同功能。


    三、常用类成员函数

         表格参考:https://blog.csdn.net/qq_37233607/article/details/78154788

                  https://blog.csdn.net/liang19890820/article/details/52044639

    1

    void setPlaceholderText(QString)

    设置占位符
    2void setText(QString)设置编辑框内的文本
    3void setReadOnly(bool)把设置编辑框为只读模式,无法进行编辑.
    4void setEnabled(bool)设置是否激活行编辑框,作用和3类似
    5bool isModified()判断文本是否被修改
    6void selectAll()选中框内所有文本
    7QString displayText()返回显示的文本
    8QString selectedText()返回被选中的文本
    9QString text() const 返回输入框的当前文本。
    10void setMaxLength(int)设置文本的最大允许长度

     

    展开全文
  • QT LineEdit 全选文本

    千次阅读 2020-03-19 14:39:22
    网上一大堆都是重写QLineEdit太麻烦了,2句代码搞定 ui->inputEdit->setFocus(); QTimer::singleShot(0, ui->inputEdit, &QLineEdit::selectAll);

    网上一大堆都是重写QLineEdit太麻烦了,2句代码搞定

            ui->inputEdit->setFocus();
            QTimer::singleShot(0, ui->inputEdit, &QLineEdit::selectAll);

     

    展开全文
  • QT LineEdit实现软键盘输入

    千次阅读 2019-08-05 11:46:31
    首先我们先实现选中LineEdit时键盘能弹出 给LineEdit安装事件过滤器,重写mousePressEvent事件 MainWindow.h public: input_key *b = new input_key; //声明弹出窗口的对象 virtual bool eventFilter(QOb...
  • QT的很多控件没有设置鼠标点击事件,这里以lineEdit为例重写类并添加鼠标点击事件 具体步骤如下: 1. 重写lineEdit类,自定义mousePressEvent的相关操作,在头文件中申明SIGNAL 2. 在主程序中添加lineEdit的槽...
  • Qt5.0中lineEdit的输入输出

    万次阅读 多人点赞 2017-01-23 23:53:00
    输入: 可以读取当前框中所输入的文字QString mString = ui->lineEdit->text(); QMessageBox::about(this, "About", mString); 输出: 这样可以设置lineEdit...设置当前lineEdit不可获得焦距,即不可被选中输入ui->l
  • 在写qt ui时候很多控件没有鼠标点击事件,这里一LineEdit为例对其重写类并添加鼠标点击事件;博客参考于:http://www.jyguagua.com/?p=668; 分为三步: 1、重写lineEdit类; 2、在widget中添加对应启动的信号和槽...
  • lineEdit显示形式 ui->lineEdit-&...//不显示任何输入(不泄露字符位数)看不到光标移动,不可backspace和delete,重新选中控件输入时,字符添加在原来的前面 ui->lineE...
  • 如果使用setReadOnly(false),光标是没了,但是也不输入字符了。 方法: 重写pixelMetric class ... 使用 ui->lineEdit_1->setStyle(new CustomLineEditProxyStyle()); 这样就可以了,测试有效。
  • QTLineEdit怎么设置不显示明文

    千次阅读 2017-04-13 15:38:12
    右键选中UI界面中对应的LineEdit控件,选择转到槽,再选择textEdited(QString)信号,最后在处理函数中加入“ui->lineEdit->setEchoMode(QLineEdit::Password); ” 其中lineEdit就是你选中控件的名称
  • 关于Qt一些控件鼠标右键菜单汉化的问题,网上有一些方法,试了一下,这里做一下总结: 1、汉化需要“.qm”这个文件,这个如果深入的话可以学习一下Qt的Linguist,这个网上很多;如果只做右键菜单汉化,在qt安装目录...
  • qt 两个lineEdit 判断焦点问题

    千次阅读 2012-05-01 20:57:23
    qt 两个lineEdit 判断焦点问题 PS:按键无焦点,在设置linEdit 有焦点setFocus 才能有效 #include "widget.h" #include "ui_widget.h" #include Widget::Widget(QWidget *parent) : QWidget...
  • 2.4.1 lineEdit单行文本编辑器 单行文本输入框在用于界面的文本输入应用比较广泛。单行文本编辑框用处较广泛,比如普通数据输入框、登录界面常见的用户名、密码输入框,搜索框等等,QLineEdit本身使用方法也很简单...
  • 这个东西困扰了我很久,我一直在网上都没有找到类似的方法。 方法:重写类 有类似的方法,以前也是见过别人这么干的。...我本来想,既然我能改写这个mainwindow,那我为什么不自己直接改写下我的LineEdit这样我...
  • QT 常用部件 (四)自动完成LineEdit

    千次阅读 2011-12-21 10:03:45
    Qt 自动完成LineEdit是本文要介绍的内容,内容虽少,取其精华。简单的代码实现出很好的效果,先来看内容。 CompleteLineEdit.h #ifndef COMPLETELINEEDIT_H #define COMPLETELINEEDIT_H #include QtGu
  • } } if(target==ui->lineEdit_2) //用户名输入框 { if(e->type()==QEvent::FocusIn) //选中 { ui->lineEdit_2->setStyleSheet("border-top:0px solid;border-bottom:1px solid rgb(18,183,245);border-left:0px ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,314
精华内容 525
关键字:

lineedit选中qt