より大きなアプリケーションがあり、特定のサブタスク用の GUI ダイアログを作成したいと考えています。Qt を使用することにしましたが、慣れていないため、おそらく間違った方法でこのことを行っています。
私の手っ取り早いプロトタイプ:
void ManualFeatureMatcher::matchFeatures() {
int argc = 0;
char* argv[1] = {NULL};
QApplication a(argc, argv);
Widget w;
w.show();
a.exec();
}
これは、関数が初めて呼び出されたときに正常に機能しますが、再度呼び出すと、次のエラーが発生します。
(app:8540): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion `GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(app:8540): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion `GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(app:8540): Gtk-CRITICAL **: IA__gtk_container_add: assertion `GTK_IS_CONTAINER (container)' failed
(app:8540): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion `GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
これを達成する正しい方法は何ですか?