當我運行此腳本:試圖消除python3 Gtk3錯誤信息
#!/usr/bin/env python3
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, GObject
def display_message_dialog(button, message_type, window):
messagedialog = Gtk.MessageDialog(message_format="MessageDialog")
messagedialog.set_property("message-type", message_type)
# messagedialog.set_parent(window)
messagedialog.run()
messagedialog.destroy()
window = Gtk.Window()
window.connect("destroy", lambda q: Gtk.main_quit())
grid = Gtk.Grid()
grid.set_column_spacing(5)
window.add(grid)
buttonInfo = Gtk.Button(label="Information")
buttonInfo.connect("clicked", display_message_dialog, Gtk.MessageType.INFO, window)
grid.attach(buttonInfo, 0, 0, 1, 1)
buttonError = Gtk.Button(label="Error")
buttonError.connect("clicked", display_message_dialog, Gtk.MessageType.ERROR, window)
grid.attach(buttonError, 3, 0, 1, 1)
window.show_all()
Gtk.main()
單擊該窗口中的一個按鈕,當我收到此錯誤信息:
GTK的消息:GtkDialog映射沒有一個短暫的父母。這是 氣餒。
取消對messagedialog.set_parent(窗口)聲明將此消息:
GTK的WARNING **:無法設置父在頂層窗口小部件
什麼我需要做些什麼來消除這些信息?
我正在使用Linux Mint 18 Mate。
令人困惑的是,由「set_parent」設置的「parent(widget)」與作爲「MessageDialog」構造函數的參數給出的「transient parent」不同。 – ptomato