gui.cpp 1.6 KB

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