diff --git a/modules/gui/src/data_viewer/data_viewer.cc b/modules/gui/src/data_viewer/data_viewer.cc
index 94eb44e683cb9da8c4ab476284345d0d300b6a95..2925aad65e8d773d96069c849e06117f12d38117 100644
--- a/modules/gui/src/data_viewer/data_viewer.cc
+++ b/modules/gui/src/data_viewer/data_viewer.cc
@@ -51,6 +51,7 @@
 #include <QMenuBar>
 #include <QApplication>
 #include <QDesktopWidget>
+#include <QScreen>
 namespace ost { namespace img { namespace gui {
 
 namespace {
@@ -312,7 +313,7 @@ void DataViewer::build(const ImageHandle& data)
   connect(panel_,SIGNAL(released()),this,SIGNAL(released()));
   
   if(!parentWidget()) {
-    resize(QApplication::desktop()->availableGeometry().adjusted(20,20,-20,-20).size());
+    resize(QGuiApplication::primaryScreen()->availableGeometry().adjusted(20,20,-20,-20).size());
   } else {
     resize(1100,800);
   }
diff --git a/modules/gui/src/main.cc b/modules/gui/src/main.cc
index 3de15cda80e38801d0d9796b74c83faf6cac4e77..c269611daedba694eedd63479c576d2965d68ac7 100644
--- a/modules/gui/src/main.cc
+++ b/modules/gui/src/main.cc
@@ -33,6 +33,7 @@
 
 #include <QApplication>
 #include <QDesktopWidget>
+#include <QScreen>
 #include <QAction>
 #include <QMenu>
 #include <QMenuBar>
@@ -56,7 +57,7 @@ namespace ost { namespace gui {
 
 QSize GostyMainWindow::GetDefaultSize()
 {
-  QRect desktop_geom=QApplication::desktop()->availableGeometry();
+  QRect desktop_geom=QGuiApplication::primaryScreen()->availableGeometry();
   if(desktop_geom.height() > desktop_geom.width()){
 	  return QSize(desktop_geom.width(),desktop_geom.width());
   }
diff --git a/modules/gui/src/main_window.cc b/modules/gui/src/main_window.cc
index b7eee29ab108f7c43ccbaab588c0ebff858f2499..10acf360e03acb8ba1a0b3243c4db74700e13eb0 100644
--- a/modules/gui/src/main_window.cc
+++ b/modules/gui/src/main_window.cc
@@ -68,7 +68,7 @@ void MainWindow::AddDockWidget(QWidget* w, const QString& name, bool shown, int
   QAction* act = new QAction(name,this);
   act->setCheckable(true);
   act->setChecked(shown);
-  act->setData(qVariantFromValue((QDockWidget*)dock));
+  act->setData(QVariant::fromValue((QDockWidget*)dock));
   WindowMenu()->addAction(act);
   
 }
diff --git a/modules/gui/src/python_shell/output_redirector.cc b/modules/gui/src/python_shell/output_redirector.cc
index 01fbb205c5dac1d415d919f4d040ce51ba19f93b..85298958fbc6976fba810a9ef2e88058576896ef 100644
--- a/modules/gui/src/python_shell/output_redirector.cc
+++ b/modules/gui/src/python_shell/output_redirector.cc
@@ -59,7 +59,7 @@ void OutputRedirector::Flush()
   if(! timer_.isValid()){
     return;
   }
-  timer_=QTime();
+  timer_=QElapsedTimer();
   QString output = buffer_;
   buffer_="";
   emit OnOutput(output);
diff --git a/modules/gui/src/python_shell/output_redirector.hh b/modules/gui/src/python_shell/output_redirector.hh
index c440a2d2422d8b8f3324272816b81d6092e7e01b..1beb8e75220481e5a0636071c21cb08b35291785 100644
--- a/modules/gui/src/python_shell/output_redirector.hh
+++ b/modules/gui/src/python_shell/output_redirector.hh
@@ -27,7 +27,7 @@
 */
 
 #include <ost/gui/module_config.hh>
-#include <QTime>
+#include <QElapsedTimer>
 #include <QString>
 #include <QObject>
 
@@ -45,7 +45,7 @@ signals:
   void OnOutput(const QString& output);
 private:
     QString  buffer_;
-    QTime timer_;
+    QElapsedTimer timer_;
 };
 
 }}//ns
diff --git a/modules/gui/src/python_shell/python_shell_widget.cc b/modules/gui/src/python_shell/python_shell_widget.cc
index d5a660a8e6c62a4938b542419ffdd77ca9a7691f..040ee6b1f91772de9003ceabc15d76c9dbc7e2b0 100644
--- a/modules/gui/src/python_shell/python_shell_widget.cc
+++ b/modules/gui/src/python_shell/python_shell_widget.cc
@@ -76,7 +76,7 @@ PythonShellWidget::PythonShellWidget(QWidget* parent):
   setUndoRedoEnabled(false);
   setFont(QFont("Courier",font().pointSize()+2));
   QFontMetrics metrics(font());
-  setTabStopWidth(2*metrics.width(" "));
+  setTabStopDistance(2*metrics.horizontalAdvance(" "));
   setMaximumBlockCount(1000000);
 
   textCursor().block().setUserState(BLOCKTYPE_ACTIVE);
@@ -534,7 +534,7 @@ void PythonShellWidget::OnExecuteStateEntered()
 void PythonShellWidget::SetTabWidth(int width) {
   tab_width_=width;
   QFontMetrics metrics(font());
-  setTabStopWidth(tab_width_*metrics.width(" "));
+  setTabStopDistance(tab_width_*metrics.horizontalAdvance(" "));
 }
 
 
diff --git a/modules/gui/src/scene_win/scene_win_model.cc b/modules/gui/src/scene_win/scene_win_model.cc
index 144d366005da250b0228ea684e3d0cc29c93b55d..4e68c810a690d155a4fc8a3b5e715b3845710e1d 100644
--- a/modules/gui/src/scene_win/scene_win_model.cc
+++ b/modules/gui/src/scene_win/scene_win_model.cc
@@ -228,7 +228,7 @@ QMimeData* SceneWinModel::mimeData(const QModelIndexList &indexes) const
   foreach (QModelIndex index, indexes) {
     if (index.isValid() && index.column()==1) {
       QString text = "scene['"+data(index, Qt::DisplayRole).toString()+"']";
-      encoded_data.append(text);
+      encoded_data.append(text.toUtf8());
     }
   }
   mimeData->setData("text/plain", encoded_data);
diff --git a/modules/gui/src/sequence_viewer/sequence_table_view.cc b/modules/gui/src/sequence_viewer/sequence_table_view.cc
index 2a8868582f4bd63f996c9e4ac5af41d00215f812..c72842704ecc71c4bc161bc27681ffb71c4058d2 100644
--- a/modules/gui/src/sequence_viewer/sequence_table_view.cc
+++ b/modules/gui/src/sequence_viewer/sequence_table_view.cc
@@ -477,7 +477,7 @@ void SequenceTableView::keyPressEvent(QKeyEvent* event)
 }
 
 int SequenceTableView::sizeHintForColumn(int column) const {
-  return this->fontMetrics().width('W');
+  return this->fontMetrics().horizontalAdvance('W');
 }
 
 int SequenceTableView::sizeHintForRow(int row) const {
diff --git a/modules/gui/src/sequence_viewer/sequence_viewer.cc b/modules/gui/src/sequence_viewer/sequence_viewer.cc
index 67337d411150272ae1997a3e4a4f2e62fd1947a0..7bc598b926c08cc28b24fa38edb6fe7c3866c160 100644
--- a/modules/gui/src/sequence_viewer/sequence_viewer.cc
+++ b/modules/gui/src/sequence_viewer/sequence_viewer.cc
@@ -296,17 +296,15 @@ void SequenceViewer::FitToContents()
 void SequenceViewer::MouseWheelEvent(QWheelEvent* event)
 {
   int delta = event->angleDelta().y();
-  if (event->orientation() == Qt::Vertical) {
-    if(delta>0){
-      model_->ZoomIn();
-      this->FitToContents();
-      seq_table_view_->viewport()->update();      
-    }
-    else if(delta<0){
-      model_->ZoomOut();
-      this->FitToContents();
-      seq_table_view_->viewport()->update();      
-    }
+  if(delta>0){
+    model_->ZoomIn();
+    this->FitToContents();
+    seq_table_view_->viewport()->update();      
+  }
+  else if(delta<0){
+    model_->ZoomOut();
+    this->FitToContents();
+    seq_table_view_->viewport()->update();      
   }
   event->accept();
 }