--- a/aqt/__init__.py
+++ b/aqt/__init__.py
@@ -302,6 +302,12 @@
     # remaining pm init
     pm.ensureProfile()
 
+    # check Qt version and warn or exit if not Qt 5.9.x
+    # (it bombs out earlier if version is < 5.9 or is 5.10.x)
+    # (Debian-specific change)
+    import aqt.qtversioncheck
+    aqt.qtversioncheck.versioncheck(pm)
+
     # load the main window
     import aqt.main
     mw = aqt.main.AnkiQt(app, pm, opts, args)
--- a/aqt/qt.py
+++ b/aqt/qt.py
@@ -38,8 +38,8 @@
 qtminor = (QT_VERSION & 0x00ff00) >> 8
 qtpoint = QT_VERSION & 0xff
 
-if qtmajor != 5 or qtminor != 9:
-    raise Exception("Anki only supports Qt 5.9.x at this time.")
+if qtmajor != 5 or qtminor < 9 or qtminor == 10:
+    raise Exception("Anki only supports Qt 5.9.x or 5.11.x and above at this time.")
 
 # GUI code assumes python 3.6+
 if sys.version_info[0] < 3 or sys.version_info[1] < 6:
--- /dev/null
+++ b/aqt/qtversioncheck.py
@@ -0,0 +1,50 @@
+# Copyright: 2018  Julian Gilbey <jdg@debian.org>
+# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
+
+# Check the version of Qt which is running and obtain permission to run
+# if it is greater than 5.9
+
+import os
+import sys
+from PyQt5.Qt import *
+
+import aqt.profiles
+
+qtminor = (QT_VERSION & 0x00ff00) >> 8
+qtpoint = QT_VERSION & 0xff
+
+def versioncheck(pm):
+    if qtminor == 9:
+        return
+
+    # If this file exists, then the user has ticked the check box which
+    # says don't ask again
+    qtver_accepted_file = os.path.join(pm.base, "qtver.accepted")
+    if os.path.exists(qtver_accepted_file):
+        return
+
+    # OK, so we have to ask
+    cb = QCheckBox("Do not show this warning again.")
+    msgbox = QMessageBox(QMessageBox.Critical,
+                "Qt version issue",
+                "You are using Qt version 5.%d.%d.  Anki has only been "
+                "tested upstream with version Qt 5.9.x.  Upstream suggests "
+                "only using version Qt 5.9.x, and a standalone version "
+                "containing the required libraries can be downloaded from "
+                "the Anki website.  Continuing with this Debian version "
+                "could potentially lead to loss of data (though this is "
+                "unlikely).  Are you sure you want to continue?" %
+                  (qtminor, qtpoint))
+    msgbox.addButton(QMessageBox.Yes)
+    msgbox.addButton(QMessageBox.No)
+    msgbox.setDefaultButton(QMessageBox.No)
+    msgbox.setCheckBox(cb)
+
+    reply = msgbox.exec()
+    if reply != QMessageBox.Yes:
+        sys.exit(1)
+
+    # This Qt version was accepted; create the file to record this choice
+    # if the checkbox was ticked
+    if bool(cb.isChecked()):
+        open(qtver_accepted_file, "a").close()
