我在Qt中的表单中有QDateEdit
,我希望在按钮上单击此QDateEdit
返回其先前的状态。怎么办呢?
答案 0 :(得分:0)
在任何时候,都可以通过调用date()
method来检索QDateEdit
(实际上是专门的QDateTimeEdit
)的状态。
然后,如前所述,您需要将此值放入类的QDate
变量中,然后创建一个连接到按钮单击的插槽,然后调用setDate
来设置QDateEdit
回到此日期。
下面是一个代码片段,其中显示了执行此操作的一种方法。
#ifndef MYDIALOG_H
#define MYDIALOG_H
#include <QDialog>
#include <QHBoxLayout>
#include <QDateEdit>
#include <QPushButton>
class Dialog: public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = 0) : QDialog(parent),
layout(this),
edit(),
button("Reset",this)
{
layout.addWidget(&edit);
layout.addWidget(&button);
date = edit.date();
connect(&button, SIGNAL( clicked() ), this, SLOT( resetTime() ) );
}
public slots:
void resetTime()
{
edit.setDate(date);
}
private:
QHBoxLayout layout;
QDateEdit edit;
QPushButton button;
QDate date;
};
#endif
main.cc 表示完整性
#include <QApplication>
#include "dialog.h"
int main(int argc, char** argv)
{
QApplication app(argc, argv);
Dialog dialog;
dialog.show();
return app.exec();
}
如果有帮助,请告诉我。