这是一個标准的对话框,用来确认某些信息或者从用户那里获得简单的输入。
这个消息框会在一个对话框中显示一条消息以及几个按钮。那些按钮可以是标准按钮,也可以是自定义的。
有两种截然不同的使用WMessageBox 的方法,它们反映咯对待一个WDialog 的两种不同方式。
最简单的方法就是使用静态的show()方法,它会显示一个消息框,阻塞当前线程,并返回用户所按过的按钮。由于这种方法使用的是WDialog::exec(),所以它也面临着同样的灵活性(scalability)问题。
更高端(elaborate)的方式是:创建一个WMessageBox,再将buttonClicked 信号连接到一个方法。而那个方法负责解释结果并且删除消息框。
示例代码(使用exec()方法):
result = WMessageBox::show("Confirm", "About to wreak havoc... Continue ?",
这样将会显示一个类似下面图片的消息框:
一個WMessageBox 的示例(默认外观) |
一個WMessageBox 的示例(光鲜(polished)外观) |
在WMessageBox 按钮中使用的那些字符串可通过覆盖以下本地化键的默认值的方式来翻译:
•.Wt.WMessageBox.Abort: 放弃
•.Wt.WMessageBox.Cancel: 取消
•.Wt.WMessageBox.Ignore: 无视
•.Wt.WMessageBox.No: 否
•.Wt.WMessageBox.NoToAll: 全部选否
•.Wt.WMessageBox.Ok: 好的
•.Wt.WMessageBox.Retry: 重试
•.Wt.WMessageBox.Yes: 是
•.Wt.WMessageBox.YesToAll: 全部选是
一个WMessageBox 可使用Wt-dialog和Wt-outset 样式类来通过它的超类WDialog 进行样式设置。消息框的按钮可使用Wt-msgbox-buttons 样式类来设置。
HxLauncher: Launch Android applications by voice commands