QInput对话框和Q消息框
QInputDialog and QMessageBox
我正在使用Qt框架为考试做一些准备,我想知道如何以基本的方式使用QInputDialog和QMessageBox(我的考试是手写编码)
当谈到使用时,Qt API真的很难理解,它对我的项目很好,因为我可以用一种非常"古怪"的方式完成我想要的东西,我关于这个主题的一本书布局非常糟糕。。。
让我开门见山,在这种情况下,使用QInputDialog和QMessageBox的一种干净方法是什么:
#include <QApplication>
#include <QInputDialog>
#include <QDate>
#include <QMessageBox>
int computeAge(QDate id) {
int years = QDate::currentDate().year() - id.year();
int days = QDate::currentDate().daysTo(QDate
(QDate::currentDate().year(), id.month(), id.day()));
if(days > 0)
years--;
return years
}
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
/* I want my QInputDialog and MessageBox in here somewhere */
return a.exec();
}
对于我的QInputDialog,我希望用户给出他们的出生日期(不要担心输入验证)我想使用QMessageBox来显示用户的年龄
我只是不明白在基本情况下需要将什么参数输入QInputDialog和QMessageBox,比如,因为似乎没有任何例子。
我该如何做到这一点?
您可以执行以下操作:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
bool ok;
// Ask for birth date as a string.
QString text = QInputDialog::getText(0, "Input dialog",
"Date of Birth:", QLineEdit::Normal,
"", &ok);
if (ok && !text.isEmpty()) {
QDate date = QDate::fromString(text);
int age = computeAge(date);
// Show the age.
QMessageBox::information (0, "The Age",
QString("The age is %1").arg(QString::number(age)));
}
[..]
相关文章:
- 如何在Qbutton的帮助下更改Q对话框的宽度
- 当对话框被接受时,如何用参数调用槽
- WinAPI 在单击第一个对话框上的按钮控件并销毁第一个对话框后创建第二个对话框
- 如何多次询问来自QML对话框的输入?
- winrt消息对话框未显示
- QInput对话框和Q消息框
- 主对话框在命令消息处理程序返回之前销毁
- 如何在窗口提示对话框(即错误消息)时获取通知
- 对话框消息是否发送到自定义消息循环
- 在 MFC 对话框和自己的线程上的 OpenGL 控件之间传递消息
- 如何在 Win32 API 的对话框中显示自定义消息
- 销毁gtkmm消息对话框
- 接收MFC对话框的PostMessage消息
- 在c++中对来自其他正在运行的线程的消息对话框进行建模
- 从主框架到Dockpane对话框的消息通知
- 在对话框消息过程中获取应用对象指针
- 带有SDL的对话框/消息框
- 将消息发布到模型对话框
- MFC 对话框后不显示消息框
- 对话框窗口中的MFC消息循环