MyWidget.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /**
  2. * Class MyWidget, derived from QWidget.
  3. */
  4. function MyWidget(parentWidget) {
  5. QWidget.call(this, parentWidget);
  6. // make sure we can receive key events:
  7. this.focusPolicy = Qt.StrongFocus;
  8. // load ui file into widget:
  9. var loader = new QUiLoader();
  10. loader.setWorkingDirectory(new QDir(MyWidget.includeBasePath));
  11. var file = new QFile(MyWidget.includeBasePath + "/MyWidget.ui");
  12. file.open(makeQIODeviceOpenMode(QIODevice.ReadOnly, QIODevice.Text));
  13. var form = loader.load(file, parentWidget);
  14. file.close();
  15. destr(loader);
  16. // add layout to ensure content scales with widget:
  17. var layout = new QVBoxLayout();
  18. layout.addWidget(form, 0, Qt.AlignTop | Qt.AlignLeft);
  19. this.setLayout(layout);
  20. }
  21. MyWidget.prototype = new QWidget();
  22. MyWidget.includeBasePath = includeBasePath;
  23. /**
  24. * Reimplement keyPressEvent from QWidget to react to key press events:
  25. */
  26. MyWidget.prototype.keyPressEvent = function(e) {
  27. if (e.key()==Qt.Key_A) {
  28. EAction.handleUserMessage("'A' key pressed");
  29. }
  30. QWidget.prototype.keyPressEvent.call(this, e);
  31. };