0

php-gtk でウィンドウの単一のインスタンスをロードします。「キャンセル」という名前のボタンがあります。ウィンドウなので、ウィンドウが再び必要になったときは、show(); だけです。

しかし、キャンセル ボタンの代わりに閉じるボタンをクリックすると、ウィンドウが破棄されます。イベントをリダイレクトしても (正しく実行しているかどうかはわかりません)、最初に (hide() 関数のみ)、次に destroy メソッドを呼び出します。

何か案が?

PD: php のガベージ コレクターのせいで、ウィンドウを破棄して再作成したくありません。また、ウィンドウ全体を再入力せずに以前のデータを維持できるようにするためです (結局のところ、デスクトップ アプリである必要があります)。

4

1 に答える 1

0

ここのアドバイスに従ってください: delete-event

TRUE を返すようにコードを変更しました。

function on_multipleCancelButton_activate()
{
  global $GladeMultiple;

  $MultipleWindow = $GladeMultiple->get_widget('multipleWindow');
  $MultipleWindow->hide();

  return TRUE;
}

GTK デザイナーで、delete-event をこの関数にリンクしました。

于 2008-10-09T22:22:41.483 に答える