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


C++


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

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

This is shown below.



So a timeEdit element is an element in which a program can obtain the time that a user enters. This could be for anything the time of a user's availability or the time of a trip.

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

This is what we go over in this program.

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



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

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

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

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

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

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

So inside of this clicked function, we specify the variable, timevalue, and set it equal to, ui->timeEdit->totime();

ui references the user interface.

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

totime() is the value specified in the timeEdit element.

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

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

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

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

This is shown below.



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

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


Related Resources

How to Write to a File in C++

HTML Comment Box is loading comments...