首页 > 代码库 > QLineEdit 信号小剖析

QLineEdit 信号小剖析

 QLineEdit 类代表编程框,它可以让用户输入一个单行文本。

        

 

        构造

        QLineEdit 类支持以下构造函数:

 

[plain] view plaincopy
 
  1. QLineEdit (QWidget *parent = 0);  
  2. QLineEdit(const QString &contents, QWidget *parent = 0);  


        其中 contents 表示编辑框中显示的内容。

 

 

 

        属性

        alignment 属性表示显示文本的对齐方式,相关成员函数如下:

 

[plain] view plaincopy
 
  1. int maxLength() const;                                    // 获取最大输入长度  
  2. void setMaxLength(Qt::Alignment flag) const;      // 设置对齐方式  


        它的含义与 QLabel 类的 alignment 属性相同。

 

        maxLength 属性表示编辑框可以容许的最大输入长度,相关成员函数如下:

       

[plain] view plaincopy
 
  1. int maxLength() const;                                   // 获取最大输入长度  
  2. void setMaxLength(int len);                            // 设置最大输入长度  


        readOnly 属性表示编辑框的内容是否为只读的,即内容是否可以被用户修改,相关成员函数如下:

 

 

[plain] view plaincopy
 
  1. bool isReadOnly() const;                               // 判断是否为只读的  
  2. void setReadOnly(bool on);                             // 判断是否为只读的   


        text 属性表示编辑框的内容,相关的成员函数如下:

 

 

[plain] view plaincopy
 
  1. QString text() const;                                    // 获取编辑框的内容  
  2. void setText(const QString &text);                 // 设置编辑框的内容,这是一个槽  

 
        其中 setText 函数同时也是一个槽。要注意编辑框的内容不一定就是编辑框显示的内容,比如一个密码输入编辑框,用户输入的密码是不显示出来的。如果要得到编辑框的内容,则需使用下民的成员函数:   

 

 

[plain] view plaincopy
 
  1. QString displayText() const;    // 得到显示的内容  


       frame 属性控制编辑框有没有边框,相关成员函数如下:

 

 

[plain] view plaincopy
 
  1. bool hasFrame() const;    // 判断有没有边框  
  2. void setFrame(bool on);   // 设置有没有边框  


       下面两个成员函数虽然不是属性,但也与文本的显示有关:

 

 

[plain] view plaincopy
 
  1. void setTextMargins(int left, int top, int right,int bottom);    // 设置边距  
  2. void getTextMargins(int *left, int *top, int *right, int *botton);     // 获取边距  


       这两个函数分别用于设置和获取文本显示的边距,上、下、左、右 4 个边距可以独立进行设置。

 

 

 

        信号

        当编辑框的内容发生变化时,将发射以下信号:

 

[plain] view plaincopy
 
  1. void textChanged(const QString &text);  


        其中参数 text 是发生变化后的内容。

 

        当编辑框的内容被编辑时,将发射以下信号:

 

[plain] view plaincopy
 
  1. void textEdited(const QString &text);  


        其中参数 text 是编辑后的内容。它与 textChanged 信号的主要区别在于,它只是在用户进行修改的时候发射,在程序中用 setText 修改时则不发射,而后者则在两种情况下都会发射。

 

         当在编辑框中按下回车键时,将发射以下信号:

 

[plain] view plaincopy
 
  1. void returnPressed();  


         这个信号将在按下回车键或者编辑框失去焦点时发射。

 

   

         

         槽

         调用下面的槽可以清空编辑框中的内容:

 

[plain] view plaincopy
 
    1. void clear();  

QLineEdit 信号小剖析