How to Retrieve the Data from a Line Edit Element in a Qt Widget Application in C++


C++


In this article, we show how to retrieve the data from a line edit element in a Qt widget application in C++.

A lineEdit is an element that is the equivalent of an input text element, or text box, in HTML.

This is shown below.



So a lineEdit is an element in which a program can obtain any type of text from a user.

So how do we place a lineEdit element in a program and retrieve the text from it which a user enters?

This is what we go over in this program.

So to place a lineEdit element in a program, we place the following in the "widgets.ui" file.



So in order to understand this lineEdit widget, you can see that the widget is of class "QLineEdit". Every lineEdit element is of this class in a Qt widget application. The name, however, can change to identify the specific lineEdit element you are referring to. By default, the first lineEdit element in an application will be "lineEdit". Each additional lineEdit element will be enumerated. For example, the second lineEdit element in an application will have the name, "lineEdit_2". The third will have the name, "lineEdit_3", etc. Of course, these name values can be changed manually. Each has a unique name to be able to reference each specific lineEdit element if you have more than 1 in an application.

So now that we have this plainTextEdit element in our "widget.ui" application, we need to go to our next page.

Next we go to the "widget.h" header file.

Since we have to create a variable that stores the value from the lineEdit element, we need to declare a variable that will be used to store this value. The declaration of variables go into the "widget.h" header file under the private keyword.

So the full contents of the "widget.h" file is shown below.



So you see that under the private keyword, we have an integer named textvalue. This will be used in our application to store the data the user types into the line.

So now and the last file we go to is the "widget.cpp" file.

In this file, we retrieve the data from the lineEdit element that the user enters and we output this value in the application output using the qDebug() function.

The contents of this file is shown below.

In this application, we retrieve the data from the lineEdit element and store it into the textvalue variable we created in the "widget.h" file.

This application assumes that you have a push button in your application, because it retrieves the value from the lineEdit element upon the pressing the pushbutton.

So in our Qt widget application, we have the lineEdit element and a pushbutton whose name is "pushButton".

The retrieval of the value of the lineEdit element is done when the push button is clicked.

So inside of this clicked function, we specify the variable, textvalue, and set it equal to, ui->lineEdit->displayText();

ui references the user interface.

lineEdit is the name attribute of the lineEdit element we are targeting.

displayText() is the data specified in the lineEdit element.

Now to show you what value we get, we use the qDebug() function to output the data from the lineEdit element.

Let's say, you were to create another lineEdit element. Say you need to create a program that retrieves multiple sets of data from a user.

So in order to now deal with 2 lineEdit elements, you need to add another lineEdit element.

If you use the Design element of the Qt software to add another lineEdit element, this will be the code you will add.



After this, you need to declare another variable in the "widget.h" file in order to store the value of the second lineEdit element. So add, int textvalue2, to the "widget.h" file under the private keyword.

Then after that, you need to modify the "widget.ui" file to save the value from the second lineEdit element to the variable, textvalue2.

This is shown below.



So now we've retrieved both values from the 2 lineEdit elements.

Since the name attribute of the second element is "lineEdit_2", we use this to retrieve the value from the second lineEdit element.

Again, that is the name that the software automatically generates if you don't change it. You can change that name. You just have to make sure that when referencing the element, you refer to it with the changed name.

And this is how to retrieve the value from a line edit element in a Qt widget in C++.


Related Resources

How to Write to a File in C++

HTML Comment Box is loading comments...