问题在于使用C ++进行GTK +编程。 我有一个主窗口,带有一个激活对话窗口的按钮。对话窗口有OK和CANCEL按钮。我是这样做的,所以当我点击取消按钮时,对话框关闭。但是一旦它关闭,我就不能再用主窗口中的按钮再次调用它。
我试图在按钮点击上调用对话框delete-event
。单击按钮时,我还尝试调用对话框destroy event
。但是在这两种情况下,对话框都会被销毁,当我单击调用对话框的按钮时它就不会显示。
答案 0 :(得分:2)
我想这是关于这个主题的另一个问题的后续跟进: How to properly close a dialog made in Glade?
如果它是使用GtkBuilder
创建的,如果你破坏了窗口,它就会被破坏:get_object
在解析时创建了小部件,而不是在你调用gtk_widget_hide_on_delete
时创建了小部件,并赢了再创造它们。因此,我认为您应该使用 public void doIt<T>()
{
services.AddScoped<IRepository<T>>(x => new DocumentDbRepository<T>(
new DatabaseSettings(Configuration.GetSection("DocumentDb").GetSection("DatabaseName").Value,
Configuration.GetSection("DocumentDb").GetSection("CollectionName").Value,
Configuration.GetSection("DocumentDb").GetSection("EndpointUri").Value,
Configuration.GetSection("DocumentDb").GetSection("Key").Value)));
}
之类的内容隐藏对话框,并在单击主对话框中的按钮时再次显示该对话框。