Я работаю над программой Ruby-Qt с несколькими формами, и у меня возникла проблема с управлением дополнительными окнами из основного. Как я могу отключить основное окно, когда открыт какой-либо вторичный, а также как получить вторичный вывод окна, чтобы использовать его на основном, и, наконец, извините, это глупо, что является подходящим методом для закрытия любого окна (вроде this.close in .net) ????Ruby with Qt
ответ
Вы можете сделать диалог модальным, это отключит взаимодействие пользователя с другими окнами вашего приложения, пока пользователь не закроет модальное окно. Используйте Qt::Dialog.exec
вместо Qt::Dialog.show
, чтобы открыть окно в виде модального диалога. Этот метод возвращает 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
Если вы используете диалоговое окно, вам нужно выйти из него с принять() или отклонить(), в большинстве случаев они связаны с ОК и кнопку Отмена:
connect(okButton, SIGNAL('clicked()'), self, SLOT('accept()'))
connect(cancelButton, SIGNAL('clicked()'), self, SLOT('reject()'))
Другие окна могут быть закрыты методом close().
- 1. ruby compile with fPIC
- 2. setLastModified date with Qt
- 3. Как построить Qt Ruby/ruby-KDE/Qt Bindings в Windows?
- 4. Ruby with Swig: NameError: неинициализированная константа
- 5. Документация Ruby Qt
- 6. Программирование Ruby в Qt Framework
- 7. JRuby with Ruby 1.9
- 8. Ruby enumerator with chaining
- 9. anemone Ruby with focus_crawl
- 10. Ruby Threads with Watir
- 11. activeadmin with Ruby 1.8.7
- 12. Ruby Debugger with netbeans
- 13. Selenium Webdriver with Ruby
- 14. Ruby with Xcode 5
- 15. socket io with ruby
- 16. Ruby metaprogramming with MongoMapper
- 17. radiobutton with ruby
- 18. File maniuplation with Ruby
- 19. Заменить 'with \' в Ruby?
- 20. Build Qt Tests with CMake
- 21. C++ Qt QComboBox with tableview
- 22. Qt getline error with MinGW
- 23. Qt tree view with Pyside
- 24. Qt 5.3 connect with lambda
- 25. build qt application with qbs
- 26. Qt Creator autocomplete with cmake
- 27. Flicking Qt application with squish
- 28. Завершение кода с Ruby + Qt
- 29. Ruby, Qt и сторонние виджеты
- 30. Nix: Compile Vim with Ruby