私はマルチフォームのRuby-Qtプログラムを使って作業していますが、プライマリウィンドウの制御に問題があります。 セカンダリウィンドウが開いているときにプライマリウィンドウを無効にする方法、セカンダリウィンドウ出力をプライマリウィンドウで使用する方法、最後に残念ですが、これは愚かなものです。 (this.close in .netのような)?Ruby with Qt
0
A
答えて
3
モーダルダイアログを作ることができます。モーダルウィンドウを閉じるまで、アプリケーションの他のウィンドウとのユーザーのやりとりを無効にします。 Qt::Dialog.show
の代わりにQt::Dialog.exec
を使用すると、ウィンドウがモーダルダイアログとしてポップアップします。このメソッドは、ユーザーがダイアログを閉じた方法によって、Qt::Dialog::Accepted
またはQt::Dialog::Rejected
を返します。
メインアプリケーションウィンドウのダイアログからデータを使用するには、メインプログラムがアクセスできるダイアログクラスのどこかにデータを保存します。ダイアログを使用している場合、あなたはそれが(受け入れ)または(拒否で終了する必要が
class MyDialog < Qt::Dialog
attr_reader :data
[...]
def updateData(new)
@data = new
end
end
dlg = MyDialog.new(self)
if (dlg.exec == Qt::Dialog::Accepted)
@aButton.text = dlg.data
end
)、ほとんどの場合、これらはOKに接続し、ボタンをキャンセルされています:たとえば
connect(okButton, SIGNAL('clicked()'), self, SLOT('accept()'))
connect(cancelButton, SIGNAL('clicked()'), self, SLOT('reject()'))
他のウィンドウはclose()メソッドで閉じることができます。
関連する問題
- 1. Qt Bluetooth with Linux
- 2. QT Webkit with DirectFB
- 3. Qwebview with python qt
- 4. Ruby Qtのドキュメント
- 5. OpenCV with QT Creatorビルドエラー
- 6. Qt shared_ptr signal with QThreadPool
- 7. OpenCV 2.3 with Qt 4.3.7
- 8. qt C++ messageBox with input
- 9. QtフレームワークでのRubyプログラミング
- 10. WindowsでQt Ruby/ruby-KDE/Qtバインディングをビルドするには?
- 11. Help with Ruby FFI
- 12. UIMA with Ruby?
- 13. Heroku with ruby
- 14. Qt、CodeBlocks minGW problem with dependencies
- 15. Https POST/GET with Qml/Qt
- 16. デプロイRuby Rails with Heroku
- 17. Parse Italian Date with Ruby
- 18. Ruby gem with text comparison
- 19. Ruby on Rails with chargify
- 20. RubyとSWIG with CMake
- 21. ヘルパーRuby with HTMLタグ
- 22. slack-ruby-client:invalid_user with users_profile_set
- 23. C++ Ruby Extension with External Libraries
- 24. Ruby on Rails with Windows Vista - ベストセットアップ?
- 25. ruby on Rails noob named_scope with datetime
- 26. Ruby gem CLIテストwith Aruba
- 27. DashingとmySQL with Ruby on Windows
- 28. FileTest.exists? ruby on rails with issue
- 29. Ruby on Rails with backbone - 認証
- 30. Gem :: RemoteSourceException with rubygems 0.9.0