gui.cpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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() + ( e->x() - dx_ ), pos().y() + ( e->y() - dy_ ), width(), height());
  24. return;
  25. }
  26. QString cname = child->metaObject()->className();
  27. if (cname != "QPushButton" && cname != "QComboBox"){ // отключаем перетягивание при наведение на активные элементы
  28. setGeometry(pos().x() + ( e->x() - dx_ ), pos().y() + ( e->y() - dy_ ), width(), height());
  29. } else {
  30. dx_ = e->x();
  31. dy_ = e->y();
  32. }
  33. }
  34. }
  35. void GUI::mousePressEvent( QMouseEvent* e ) {
  36. if( e->button() == Qt::LeftButton ) {
  37. dx_ = e->x();
  38. dy_ = e->y();
  39. setCursor( Qt::OpenHandCursor );
  40. }
  41. }
  42. void GUI::mouseReleaseEvent( QMouseEvent* e ) {
  43. if( e->button() == Qt::LeftButton ) {
  44. setCursor( Qt::ArrowCursor );
  45. dx_ = e->x();
  46. dy_ = e->y();
  47. }
  48. }