gpt4 book ai didi

c++ - 使用 C++ 在 QDateEdit 中设置日期

转载 作者:行者123 更新时间:2023-11-30 01:56:07 26 4
gpt4 key购买 nike

我有这个 QDateEdit 小部件,但它始终显示标准时间,如 01-01-2014(在 DD-MM-YYYY 中,但我可以在 UI 中更改它)。但是我希望它在打开对话框(这个 QDateEdit 小部件所在的位置)时显示当前时间。我只是在标签上测试了这个(见 void form_dialog)。但它打印出“2013 年 11 月 23 日”。但我想要它像 23-11-2013。它还给了我一个错误:

QDateTimeEdit::setDate' : cannot convert parameter 1 from 'QString' to 'const QDate &'
Reason: cannot convert from 'QString' to 'const QDate'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

所以

void form_dialog::setCurrentDate()
{
QDate date = QDate::currentDate();
QString dateString = date.toString();
ui->DateEdit->setDate(dateString);
}

谢谢!

也许有一些视觉效果是有用的,下面显示的小部件应该显示当前日期:
enter image description here

最佳答案

首先,文档表明 QDateEdit 对象具有参数化构造函数,允许在构造时初始化日期:

QDateEdit::QDateEdit (const QDate & date, QWidget * parent = 0)

根据您实例化 QDateEdit 对象的方式,您还可以考虑使用自己的小部件子类化 QDateEdit,并在小部件的构造函数中设置 QDateEdit 对象。不过,这种方法可能有点矫枉过正(没有代码,很难推测什么是最好的……)

编辑后的问题提供了更多内容。 QDateEdit文档表明 QDateEdit 方法接受 QDate 对象,而不是 QString 对象。所以你的函数应该看起来更像:

void form_dialog::setCurrentDate()
{
QDate date = QDate::currentDate();
ui->DateEdit->setDate(date);
}

请注意,您的编译器在上面的错误消息中报告了不匹配的对象类型。

关于c++ - 使用 C++ 在 QDateEdit 中设置日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20152066/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com