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


C++


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

A date edit is an element that is the equivalent of a date element in HTML.

This is shown below.



So a dateEdit element is an element in which a program can obtain the date that a user enters. This could be for anything such as the user's date of birth, or the date of a trip or an appointment, or the date of the expieration for a credit card or driver's license.

So how do we place a dateEdit element in a program and retrieve the date which a user enters?

This is what we go over in this program.

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



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

So now that we have this dateEdit 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 dateEdit 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 datevalue. This will be used in our application to store the date the user selects.

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

In this file, we retrieve the date from the dateEdit 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 date from the dateEdit element and store it into the datevalue 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 dateEdit element upon the pressing the pushbutton.

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

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

So inside of this clicked function, we specify the variable, datevalue, and set it equal to, ui->dateEdit->date();

ui references the user interface.

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

date() is the value specified in the dateEdit element.

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

Let's say, you were to create another dateEdit element. Say you need to create a program that retrieves multiple dates from a user, such as one being the credit card expiration date and another being the user's driver's license expiration date.

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

If you use the Design element of the Qt software to add another dateEdit 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 dateEdit element. So add, int datevalue2, 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 dateEdit element to the variable, datevalue2.

This is shown below.



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

Since the name attribute of the second element is "dateEdit_2", we use this to retrieve the value from the second dateEdit 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 date from a date edit element in a Qt widget in C++.


Related Resources

How to Write to a File in C++

HTML Comment Box is loading comments...