gui.cpp 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #include "gui.h"
  2. #include "ui_gui.h"
  3. #include "recruitmentscene.h"
  4. #include <QDebug>
  5. GUI::GUI(QWidget *parent) :
  6. QMainWindow(parent, Qt::Window | Qt::FramelessWindowHint),
  7. ui_(new Ui::GUI), dx_(0), dy_(0)
  8. {
  9. ui_->setupUi(this);
  10. rq_scene_ = new RecruitmentScene(ui_->main_content_); /// Инициализируем графическую сцену
  11. rq_scene_->show();
  12. //rq_scene_->hide();
  13. }
  14. GUI::~GUI()
  15. {
  16. delete ui_;
  17. }
  18. void GUI::mouseMoveEvent( QMouseEvent* e ) {
  19. if( e->buttons() | Qt::LeftButton ) {
  20. QPoint pt=mapFromGlobal(QCursor::pos());
  21. QWidget* child=childAt(pt);
  22. if (child == 0) {
  23. setGeometry(pos().x() + (pt.x() - dx_ ), pos().y() + (pt.y() - dy_ ), width(), height());
  24. // dx_ = pt.x();
  25. // dy_ = pt.y();
  26. return;
  27. }
  28. QString cname = child->metaObject()->className();
  29. if (cname != "QPushButton" && cname != "QComboBox"){ // отключаем перетягивание при наведение на активные элементы
  30. setGeometry(pos().x() + ( pt.x() - dx_ ), pos().y() + ( pt.y() - dy_ ), width(), height());
  31. } else {
  32. dx_ = pt.x();
  33. dy_ = pt.y();
  34. }
  35. }
  36. }
  37. void GUI::mousePressEvent( QMouseEvent* e ) {
  38. if( e->button() == Qt::LeftButton ) {
  39. QPoint pt=mapFromGlobal(QCursor::pos());
  40. dx_ = pt.x();
  41. dy_ = pt.y();
  42. setCursor( Qt::OpenHandCursor );
  43. }
  44. }
  45. void GUI::mouseReleaseEvent( QMouseEvent* e ) {
  46. if( e->button() == Qt::LeftButton ) {
  47. QPoint pt=mapFromGlobal(QCursor::pos());
  48. setCursor( Qt::ArrowCursor );
  49. dx_ = pt.x();
  50. dy_ = pt.y();
  51. }
  52. }