消息¶
消息是一种对话框窗口,用于通知用户某个操作或状态变化;它们也可以用于提出问题或请求用户确认。
GtkDialogFlags flags = GTK_DIALOG_DESTROY_WITH_PARENT
| GTK_DIALOG_MODAL;
// "parent_window" is defined elsewhere
GtkWidget *dialog =
gtk_message_dialog_new (parent_window,
flags,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Error reading “%s”",
// "filename" is defined elsewhere
filename);
// Destroy the dialog when the user responds to it
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_window_destroy),
NULL);
# "filename" is defined elsewhere
dialog = Gtk.MessageDialog(text=f"Error reading \"{filename}\"",
buttons=Gtk.ButtonsType.CLOSE)
# "parent_window" is defined elsewhere
dialog.set_transient_for(parent_window)
dialog.set_destroy_with_parent(True)
dialog.set_modal(True)
# Destroy the dialog when the user responds to it
dialog.connect("response", lambda d: d.destroy())
Gtk.DialogFlags flags = DESTROY_WITH_PARENT | MODAL;
// "parent_window" is defined elsewhere
var dialog = new Gtk.MessageDialog (parent_window,
flags,
Gtk.MessageType.ERROR,
Gtk.ButtonsType.CLOSE,
"Error reading “%s”",
// "filename" is defined elsewhere
filename);
dialog.response.connect (dialog.destroy);
const dialog = new Gtk.MessageDialog({
// "parent_window" is defined elsewhere
transient_for: parent_window,
destroy_with_parent: true,
modal: true,
message_type: Gtk.MessageType.ERROR,
buttons: Gtk.ButtonsType.CLOSE,
// "filename" is defined elsewhere
text: `Error reading “${filename}”`,
});
dialog.connect("response", () => {
dialog.destroy();
});
dialog.show();
组件的常用方法¶
如果您的消息包含 Pango 标记,您可以将
GtkMessageDialog:use-markup属性设置为 true。消息对话框还可以包含辅助文本,该文本显示在
GtkMessageDialog:text属性中指定的消息下方。您可以使用GtkMessageDialog:secondary-text属性来定义辅助文本。只要将
GtkMessageDialog:secondary-use-markup设置为 true,辅助文本也可以使用 Pango 标记。
API 参考¶
在示例中,我们使用了以下类