setools/0002-Use-PyQt6.patch
Petr Lautrbach 3eb6ca82a8 setools-4.4.3-2
- Use Qt 6
2023-09-05 13:28:08 +02:00

1122 lines
40 KiB
Diff

From a9a062004e9974e06880e57ddb2c9699de2696f0 Mon Sep 17 00:00:00 2001
From: Petr Lautrbach <lautrbach@redhat.com>
Date: Mon, 4 Sep 2023 16:12:59 +0200
Subject: [PATCH] Use PyQt6
Content-type: text/plain
Signed-off-by: Petr Lautrbach <lautrbach@redhat.com>
---
.mypy.ini | 2 +-
README.md | 6 +++---
apol | 4 ++--
setoolsgui/apol/analysistab.py | 4 ++--
setoolsgui/apol/boolquery.py | 6 +++---
setoolsgui/apol/boundsquery.py | 6 +++---
setoolsgui/apol/categoryquery.py | 6 +++---
setoolsgui/apol/chooseanalysis.py | 4 ++--
setoolsgui/apol/commonquery.py | 6 +++---
setoolsgui/apol/constraintquery.py | 6 +++---
setoolsgui/apol/defaultquery.py | 6 +++---
setoolsgui/apol/dta.py | 6 +++---
setoolsgui/apol/excludetypes.py | 4 ++--
setoolsgui/apol/fsusequery.py | 6 +++---
setoolsgui/apol/genfsconquery.py | 6 +++---
setoolsgui/apol/ibendportconquery.py | 6 +++---
setoolsgui/apol/ibpkeyconquery.py | 6 +++---
setoolsgui/apol/infoflow.py | 6 +++---
setoolsgui/apol/initsidquery.py | 6 +++---
setoolsgui/apol/mainwindow.py | 8 ++++----
setoolsgui/apol/mlsrulequery.py | 6 +++---
setoolsgui/apol/netifconquery.py | 6 +++---
setoolsgui/apol/nodeconquery.py | 6 +++---
setoolsgui/apol/objclassquery.py | 6 +++---
setoolsgui/apol/permmapedit.py | 6 +++---
setoolsgui/apol/portconquery.py | 6 +++---
setoolsgui/apol/queryupdater.py | 2 +-
setoolsgui/apol/rbacrulequery.py | 6 +++---
setoolsgui/apol/rolequery.py | 6 +++---
setoolsgui/apol/sensitivityquery.py | 6 +++---
setoolsgui/apol/summary.py | 6 +++---
setoolsgui/apol/terulequery.py | 6 +++---
setoolsgui/apol/typeattrquery.py | 6 +++---
setoolsgui/apol/typequery.py | 6 +++---
setoolsgui/apol/userquery.py | 6 +++---
setoolsgui/apol/workspace.py | 2 +-
setoolsgui/boolmodel.py | 4 ++--
setoolsgui/boundsmodel.py | 2 +-
setoolsgui/commonmodel.py | 4 ++--
setoolsgui/constraintmodel.py | 2 +-
setoolsgui/defaultmodel.py | 2 +-
setoolsgui/details.py | 4 ++--
setoolsgui/fsusemodel.py | 2 +-
setoolsgui/genfsconmodel.py | 2 +-
setoolsgui/getdetailslist.py | 4 ++--
setoolsgui/ibendportconmodel.py | 2 +-
setoolsgui/ibpkeyconmodel.py | 2 +-
setoolsgui/initsidmodel.py | 2 +-
setoolsgui/listview.py | 6 +++---
setoolsgui/logtosignal.py | 2 +-
setoolsgui/mlsmodel.py | 4 ++--
setoolsgui/mlsrulemodel.py | 2 +-
setoolsgui/models.py | 2 +-
setoolsgui/netifconmodel.py | 2 +-
setoolsgui/nodeconmodel.py | 2 +-
setoolsgui/objclassmodel.py | 4 ++--
setoolsgui/portconmodel.py | 2 +-
setoolsgui/rbacrulemodel.py | 2 +-
setoolsgui/rolemodel.py | 4 ++--
setoolsgui/tableview.py | 6 +++---
setoolsgui/terulemodel.py | 2 +-
setoolsgui/treeview.py | 6 +++---
setoolsgui/typeattrmodel.py | 4 ++--
setoolsgui/typemodel.py | 4 ++--
setoolsgui/usermodel.py | 2 +-
setoolsgui/widget.py | 2 +-
66 files changed, 144 insertions(+), 144 deletions(-)
diff --git a/.mypy.ini b/.mypy.ini
index b45560b7d8d0..7d3aef848b4a 100644
--- a/.mypy.ini
+++ b/.mypy.ini
@@ -9,7 +9,7 @@ ignore_missing_imports = True
[mypy-networkx.*]
ignore_missing_imports = True
-[mypy-PyQt5.*]
+[mypy-PyQt6.*]
ignore_missing_imports = True
[mypy-sip]
diff --git a/README.md b/README.md
index b5a05c9376c3..d291e0d5693d 100644
--- a/README.md
+++ b/README.md
@@ -20,8 +20,8 @@ To run SETools command line tools, the following packages are required:
* libsepol 3.2+
To run SETools graphical tools, the following packages are also required:
-* PyQt5
-* qt5-assistant
+* PyQt6
+* qt6-assistant
* qt-devel (only if rebuilding the help file)
To build SETools, the following development packages are required, in
@@ -73,7 +73,7 @@ the tools can be ran from the current directory (e.g. ```./seinfo```).
### Rebuilding the Apol Help File
For convenience, a prebuilt copy of the apol help data file is included.
-To rebuild this file, the Qt5 development tools are required
+To rebuild this file, the Qt6 development tools are required
(particularly, the ```qcollectiongenerator``` tool). At the root
of the SETools sources, perform the following:
```
diff --git a/apol b/apol
index 400832199eae..f32b29bf8c5c 100755
--- a/apol
+++ b/apol
@@ -8,7 +8,7 @@ import sys
import argparse
import logging
-from PyQt5.QtWidgets import QApplication
+from PyQt6.QtWidgets import QApplication
import setools
import setoolsgui
@@ -42,7 +42,7 @@ logging.getLogger().addHandler(console_handler)
try:
app = QApplication(sys.argv)
mainwindow = setoolsgui.ApolMainWindow(args.policy)
- sys.exit(app.exec_())
+ sys.exit(app.exec())
except Exception as err:
if args.debug:
diff --git a/setoolsgui/apol/analysistab.py b/setoolsgui/apol/analysistab.py
index bc3629ff274a..13f89db32277 100644
--- a/setoolsgui/apol/analysistab.py
+++ b/setoolsgui/apol/analysistab.py
@@ -6,8 +6,8 @@
from typing import Dict, NamedTuple
from enum import Enum
-import sip
-from PyQt5.QtWidgets import QDialogButtonBox, QScrollArea
+import PyQt6.sip as sip
+from PyQt6.QtWidgets import QDialogButtonBox, QScrollArea
from ..widget import SEToolsWidget
diff --git a/setoolsgui/apol/boolquery.py b/setoolsgui/apol/boolquery.py
index 6116fe48a846..d7bf529fa267 100644
--- a/setoolsgui/apol/boolquery.py
+++ b/setoolsgui/apol/boolquery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import BoolQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/boundsquery.py b/setoolsgui/apol/boundsquery.py
index 5b90c2ee2ded..5c53803dbb7a 100644
--- a/setoolsgui/apol/boundsquery.py
+++ b/setoolsgui/apol/boundsquery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import BoundsQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/categoryquery.py b/setoolsgui/apol/categoryquery.py
index 598f163c335f..7df35566f672 100644
--- a/setoolsgui/apol/categoryquery.py
+++ b/setoolsgui/apol/categoryquery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import CategoryQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/chooseanalysis.py b/setoolsgui/apol/chooseanalysis.py
index 155ae6d2f4ae..d7d192a94c2a 100644
--- a/setoolsgui/apol/chooseanalysis.py
+++ b/setoolsgui/apol/chooseanalysis.py
@@ -5,8 +5,8 @@
#
from collections import defaultdict
-from PyQt5.QtCore import Qt
-from PyQt5.QtWidgets import QDialog, QTreeWidgetItem
+from PyQt6.QtCore import Qt
+from PyQt6.QtWidgets import QDialog, QTreeWidgetItem
from ..widget import SEToolsWidget
from .analysistab import AnalysisSection, AnalysisTab, TAB_REGISTRY
diff --git a/setoolsgui/apol/commonquery.py b/setoolsgui/apol/commonquery.py
index 8fb11e87290d..1c73a42aff4b 100644
--- a/setoolsgui/apol/commonquery.py
+++ b/setoolsgui/apol/commonquery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import CommonQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/constraintquery.py b/setoolsgui/apol/constraintquery.py
index ee64db0ca1df..efda65f4c55e 100644
--- a/setoolsgui/apol/constraintquery.py
+++ b/setoolsgui/apol/constraintquery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import ConstraintQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/defaultquery.py b/setoolsgui/apol/defaultquery.py
index e09692ee6a46..cad78d03e8a8 100644
--- a/setoolsgui/apol/defaultquery.py
+++ b/setoolsgui/apol/defaultquery.py
@@ -8,9 +8,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import DefaultQuery, DefaultValue, DefaultRangeValue
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/dta.py b/setoolsgui/apol/dta.py
index 8bbed4dbe21f..bdbe6f448150 100644
--- a/setoolsgui/apol/dta.py
+++ b/setoolsgui/apol/dta.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \
+from PyQt6.QtCore import pyqtSignal, Qt, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \
QTreeWidgetItem
from setools import DomainTransitionAnalysis
diff --git a/setoolsgui/apol/excludetypes.py b/setoolsgui/apol/excludetypes.py
index 1c4beaf84542..a764597cc1cd 100644
--- a/setoolsgui/apol/excludetypes.py
+++ b/setoolsgui/apol/excludetypes.py
@@ -7,8 +7,8 @@
import logging
import copy
-from PyQt5.QtCore import Qt, QSortFilterProxyModel
-from PyQt5.QtWidgets import QDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel
+from PyQt6.QtWidgets import QDialog
from ..models import SEToolsListModel
from ..widget import SEToolsWidget
diff --git a/setoolsgui/apol/fsusequery.py b/setoolsgui/apol/fsusequery.py
index 4e7567f4e4c6..e0b77af58ef0 100644
--- a/setoolsgui/apol/fsusequery.py
+++ b/setoolsgui/apol/fsusequery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import FSUseQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/genfsconquery.py b/setoolsgui/apol/genfsconquery.py
index 33dbed787cd6..5294e9042857 100644
--- a/setoolsgui/apol/genfsconquery.py
+++ b/setoolsgui/apol/genfsconquery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import GenfsconQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/ibendportconquery.py b/setoolsgui/apol/ibendportconquery.py
index 18252dd23de0..e688773eac5a 100644
--- a/setoolsgui/apol/ibendportconquery.py
+++ b/setoolsgui/apol/ibendportconquery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QProgressDialog
from setools import IbendportconQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/ibpkeyconquery.py b/setoolsgui/apol/ibpkeyconquery.py
index b7a78bf908a0..27be270f6602 100644
--- a/setoolsgui/apol/ibpkeyconquery.py
+++ b/setoolsgui/apol/ibpkeyconquery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QProgressDialog
from setools import IbpkeyconQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/infoflow.py b/setoolsgui/apol/infoflow.py
index 526f3074e143..a57c232ccc3e 100644
--- a/setoolsgui/apol/infoflow.py
+++ b/setoolsgui/apol/infoflow.py
@@ -9,9 +9,9 @@ import copy
from collections import defaultdict
from contextlib import suppress
-from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \
+from PyQt6.QtCore import pyqtSignal, Qt, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \
QTreeWidgetItem
from setools import InfoFlowAnalysis
from setools.exception import UnmappedClass, UnmappedPermission
diff --git a/setoolsgui/apol/initsidquery.py b/setoolsgui/apol/initsidquery.py
index d01f87130925..f84e4c2260a9 100644
--- a/setoolsgui/apol/initsidquery.py
+++ b/setoolsgui/apol/initsidquery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import InitialSIDQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/mainwindow.py b/setoolsgui/apol/mainwindow.py
index dcbfb7590ef7..7dc3cd852820 100644
--- a/setoolsgui/apol/mainwindow.py
+++ b/setoolsgui/apol/mainwindow.py
@@ -11,8 +11,8 @@ import json
from contextlib import suppress
import pkg_resources
-from PyQt5.QtCore import pyqtSlot, Qt, QProcess
-from PyQt5.QtWidgets import QApplication, QFileDialog, QLineEdit, QMainWindow, QMessageBox
+from PyQt6.QtCore import pyqtSlot, Qt, QProcess
+from PyQt6.QtWidgets import QApplication, QFileDialog, QLineEdit, QMainWindow, QMessageBox
from setools import __version__, PermissionMap, SELinuxPolicy
from ..widget import SEToolsWidget
@@ -26,7 +26,7 @@ from .summary import SummaryTab
BIN_SEARCH_PATHS = ("/usr/local/bin:/usr/bin:/bin")
-POSSIBLE_ASSISTANT = ("assistant", "assistant-qt5")
+POSSIBLE_ASSISTANT = ("assistant", "assistant-qt6")
class ApolMainWindow(SEToolsWidget, QMainWindow):
@@ -666,7 +666,7 @@ class ApolMainWindow(SEToolsWidget, QMainWindow):
reply = QMessageBox.question(
self, "Qt Assistant Package Installed?",
"Failed to start QT Assistant program {}. "
- "This is typically in the assistant or qt5-assistant package. "
+ "This is typically in the assistant or qt6-assistant package. "
"Choose location of Qt Assistant executable?".format(
self.config.assistant),
QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No)
diff --git a/setoolsgui/apol/mlsrulequery.py b/setoolsgui/apol/mlsrulequery.py
index bb554ade6657..ec0a20955ed8 100644
--- a/setoolsgui/apol/mlsrulequery.py
+++ b/setoolsgui/apol/mlsrulequery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import MLSRuleQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/netifconquery.py b/setoolsgui/apol/netifconquery.py
index 4cf3de1a9f5c..3c828edb26c6 100644
--- a/setoolsgui/apol/netifconquery.py
+++ b/setoolsgui/apol/netifconquery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import NetifconQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/nodeconquery.py b/setoolsgui/apol/nodeconquery.py
index 81a33a794c05..dddfa069b9ad 100644
--- a/setoolsgui/apol/nodeconquery.py
+++ b/setoolsgui/apol/nodeconquery.py
@@ -8,9 +8,9 @@ import sys
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import NodeconQuery, NodeconIPVersion
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/objclassquery.py b/setoolsgui/apol/objclassquery.py
index 23c8188e8bbd..4f0355dd3176 100644
--- a/setoolsgui/apol/objclassquery.py
+++ b/setoolsgui/apol/objclassquery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import ObjClassQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/permmapedit.py b/setoolsgui/apol/permmapedit.py
index d1e0b01ce854..ee01917a7bc5 100644
--- a/setoolsgui/apol/permmapedit.py
+++ b/setoolsgui/apol/permmapedit.py
@@ -6,9 +6,9 @@
import logging
import copy
-from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt
-from PyQt5.QtGui import QPalette
-from PyQt5.QtWidgets import QDialog, QFrame, QWidget
+from PyQt6.QtCore import pyqtSignal, pyqtSlot, Qt
+from PyQt6.QtGui import QPalette
+from PyQt6.QtWidgets import QDialog, QFrame, QWidget
from ..models import SEToolsListModel
from ..widget import SEToolsWidget
diff --git a/setoolsgui/apol/portconquery.py b/setoolsgui/apol/portconquery.py
index de0a16567f1c..2afdd16e9f9c 100644
--- a/setoolsgui/apol/portconquery.py
+++ b/setoolsgui/apol/portconquery.py
@@ -8,9 +8,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import PortconQuery, PortconProtocol
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/queryupdater.py b/setoolsgui/apol/queryupdater.py
index 9b6c155caa0a..07dc21a7d83d 100644
--- a/setoolsgui/apol/queryupdater.py
+++ b/setoolsgui/apol/queryupdater.py
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import pyqtSignal, QObject, QThread
+from PyQt6.QtCore import pyqtSignal, QObject, QThread
class QueryResultsUpdater(QObject):
diff --git a/setoolsgui/apol/rbacrulequery.py b/setoolsgui/apol/rbacrulequery.py
index 4749d324d858..505a1858d015 100644
--- a/setoolsgui/apol/rbacrulequery.py
+++ b/setoolsgui/apol/rbacrulequery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import RBACRuleQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/rolequery.py b/setoolsgui/apol/rolequery.py
index e75614d9a992..bd1a02a1d614 100644
--- a/setoolsgui/apol/rolequery.py
+++ b/setoolsgui/apol/rolequery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import RoleQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/sensitivityquery.py b/setoolsgui/apol/sensitivityquery.py
index c8a27891ae97..aac7e2971b6d 100644
--- a/setoolsgui/apol/sensitivityquery.py
+++ b/setoolsgui/apol/sensitivityquery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import SensitivityQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/summary.py b/setoolsgui/apol/summary.py
index 1aeb2b303bd6..32b6c5fcfbe5 100644
--- a/setoolsgui/apol/summary.py
+++ b/setoolsgui/apol/summary.py
@@ -7,9 +7,9 @@
import logging
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import MLSRuleQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/terulequery.py b/setoolsgui/apol/terulequery.py
index 7c99469edc87..4aba54cc59d0 100644
--- a/setoolsgui/apol/terulequery.py
+++ b/setoolsgui/apol/terulequery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import TERuleQuery, xperm_str_to_tuple_ranges
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/typeattrquery.py b/setoolsgui/apol/typeattrquery.py
index 67a087a7e3f0..f76de94e93d7 100644
--- a/setoolsgui/apol/typeattrquery.py
+++ b/setoolsgui/apol/typeattrquery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import TypeAttributeQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/typequery.py b/setoolsgui/apol/typequery.py
index a22e3547cd16..4859364576e4 100644
--- a/setoolsgui/apol/typequery.py
+++ b/setoolsgui/apol/typequery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import TypeQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/userquery.py b/setoolsgui/apol/userquery.py
index 19ffb03c2975..6200ddcb8398 100644
--- a/setoolsgui/apol/userquery.py
+++ b/setoolsgui/apol/userquery.py
@@ -7,9 +7,9 @@
import logging
from contextlib import suppress
-from PyQt5.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
-from PyQt5.QtGui import QPalette, QTextCursor
-from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
+from PyQt6.QtCore import Qt, QSortFilterProxyModel, QStringListModel, QThread
+from PyQt6.QtGui import QPalette, QTextCursor
+from PyQt6.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog
from setools import UserQuery
from ..logtosignal import LogHandlerToSignal
diff --git a/setoolsgui/apol/workspace.py b/setoolsgui/apol/workspace.py
index 2b4229224b85..8db9d1478d4d 100644
--- a/setoolsgui/apol/workspace.py
+++ b/setoolsgui/apol/workspace.py
@@ -9,7 +9,7 @@ import logging
import setools
-from PyQt5.QtCore import Qt, QItemSelectionModel
+from PyQt6.QtCore import Qt, QItemSelectionModel
def save_checkboxes(tab, settings, checkboxes):
diff --git a/setoolsgui/boolmodel.py b/setoolsgui/boolmodel.py
index c331fdd5057d..a1a733987258 100644
--- a/setoolsgui/boolmodel.py
+++ b/setoolsgui/boolmodel.py
@@ -3,8 +3,8 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt
-from PyQt5.QtGui import QPalette, QTextCursor
+from PyQt6.QtCore import Qt
+from PyQt6.QtGui import QPalette, QTextCursor
from .details import DetailsPopup
from .models import SEToolsTableModel
diff --git a/setoolsgui/boundsmodel.py b/setoolsgui/boundsmodel.py
index c7ed1e7c227f..fdc1462b0a9b 100644
--- a/setoolsgui/boundsmodel.py
+++ b/setoolsgui/boundsmodel.py
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt
+from PyQt6.QtCore import Qt
from .models import SEToolsTableModel
diff --git a/setoolsgui/commonmodel.py b/setoolsgui/commonmodel.py
index 2ceb57f4f0a3..a5c656deac15 100644
--- a/setoolsgui/commonmodel.py
+++ b/setoolsgui/commonmodel.py
@@ -3,8 +3,8 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt
-from PyQt5.QtGui import QPalette, QTextCursor
+from PyQt6.QtCore import Qt
+from PyQt6.QtGui import QPalette, QTextCursor
from setools.exception import NoCommon
diff --git a/setoolsgui/constraintmodel.py b/setoolsgui/constraintmodel.py
index d295f28f208b..2ae8dc5ba025 100644
--- a/setoolsgui/constraintmodel.py
+++ b/setoolsgui/constraintmodel.py
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt
+from PyQt6.QtCore import Qt
from setools.exception import ConstraintUseError
from .models import SEToolsTableModel
diff --git a/setoolsgui/defaultmodel.py b/setoolsgui/defaultmodel.py
index 3a699c49ce8c..fe29b3f3179b 100644
--- a/setoolsgui/defaultmodel.py
+++ b/setoolsgui/defaultmodel.py
@@ -5,7 +5,7 @@
#
from contextlib import suppress
-from PyQt5.QtCore import Qt
+from PyQt6.QtCore import Qt
from .models import SEToolsTableModel
diff --git a/setoolsgui/details.py b/setoolsgui/details.py
index 8d4882cd6a1e..1cbf6c05590c 100644
--- a/setoolsgui/details.py
+++ b/setoolsgui/details.py
@@ -5,8 +5,8 @@
#
import logging
-from PyQt5.QtGui import QFont, QTextCursor
-from PyQt5.QtWidgets import QDialog
+from PyQt6.QtGui import QFont, QTextCursor
+from PyQt6.QtWidgets import QDialog
from .widget import SEToolsWidget
diff --git a/setoolsgui/fsusemodel.py b/setoolsgui/fsusemodel.py
index bc100784c490..327a8653d1b2 100644
--- a/setoolsgui/fsusemodel.py
+++ b/setoolsgui/fsusemodel.py
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt
+from PyQt6.QtCore import Qt
from .models import SEToolsTableModel
diff --git a/setoolsgui/genfsconmodel.py b/setoolsgui/genfsconmodel.py
index 1e50d929446a..b3429c81d536 100644
--- a/setoolsgui/genfsconmodel.py
+++ b/setoolsgui/genfsconmodel.py
@@ -5,7 +5,7 @@
#
import stat
-from PyQt5.QtCore import Qt
+from PyQt6.QtCore import Qt
from .models import SEToolsTableModel
diff --git a/setoolsgui/getdetailslist.py b/setoolsgui/getdetailslist.py
index df7149dda0f2..e4e39194456c 100644
--- a/setoolsgui/getdetailslist.py
+++ b/setoolsgui/getdetailslist.py
@@ -3,8 +3,8 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtGui import QCursor
-from PyQt5.QtWidgets import QAction, QListView, QMenu
+from PyQt6.QtGui import QCursor, QAction
+from PyQt6.QtWidgets import QListView, QMenu
class GetDetailsListView(QListView):
diff --git a/setoolsgui/ibendportconmodel.py b/setoolsgui/ibendportconmodel.py
index 37b7a8d74948..49780736b90f 100644
--- a/setoolsgui/ibendportconmodel.py
+++ b/setoolsgui/ibendportconmodel.py
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt
+from PyQt6.QtCore import Qt
from .models import SEToolsTableModel
diff --git a/setoolsgui/ibpkeyconmodel.py b/setoolsgui/ibpkeyconmodel.py
index 160425504521..1a339b90110b 100644
--- a/setoolsgui/ibpkeyconmodel.py
+++ b/setoolsgui/ibpkeyconmodel.py
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt
+from PyQt6.QtCore import Qt
from .models import SEToolsTableModel
diff --git a/setoolsgui/initsidmodel.py b/setoolsgui/initsidmodel.py
index 9ffb408024fd..04e8a34f931e 100644
--- a/setoolsgui/initsidmodel.py
+++ b/setoolsgui/initsidmodel.py
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt
+from PyQt6.QtCore import Qt
from .models import SEToolsTableModel
diff --git a/setoolsgui/listview.py b/setoolsgui/listview.py
index e803975c52c6..ff42bf0f8c57 100644
--- a/setoolsgui/listview.py
+++ b/setoolsgui/listview.py
@@ -6,9 +6,9 @@
import logging
from collections import defaultdict
-from PyQt5.QtCore import Qt, QItemSelectionModel
-from PyQt5.QtGui import QKeySequence
-from PyQt5.QtWidgets import QAbstractItemView, QListView
+from PyQt6.QtCore import Qt, QItemSelectionModel
+from PyQt6.QtGui import QKeySequence
+from PyQt6.QtWidgets import QAbstractItemView, QListView
class SEToolsListView(QListView):
diff --git a/setoolsgui/logtosignal.py b/setoolsgui/logtosignal.py
index 7678f0992ce6..5bfab937ecc6 100644
--- a/setoolsgui/logtosignal.py
+++ b/setoolsgui/logtosignal.py
@@ -5,7 +5,7 @@
#
from logging import Formatter, Handler, INFO
-from PyQt5.QtCore import pyqtSignal, QObject
+from PyQt6.QtCore import pyqtSignal, QObject
class LogHandlerToSignal(Handler, QObject):
diff --git a/setoolsgui/mlsmodel.py b/setoolsgui/mlsmodel.py
index 147378ef585a..a0bfb3709d57 100644
--- a/setoolsgui/mlsmodel.py
+++ b/setoolsgui/mlsmodel.py
@@ -3,8 +3,8 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt
-from PyQt5.QtGui import QPalette, QTextCursor
+from PyQt6.QtCore import Qt
+from PyQt6.QtGui import QPalette, QTextCursor
from .details import DetailsPopup
from .models import SEToolsTableModel
diff --git a/setoolsgui/mlsrulemodel.py b/setoolsgui/mlsrulemodel.py
index 54ad4c216c72..349900ef36d2 100644
--- a/setoolsgui/mlsrulemodel.py
+++ b/setoolsgui/mlsrulemodel.py
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt
+from PyQt6.QtCore import Qt
from .models import SEToolsTableModel
diff --git a/setoolsgui/models.py b/setoolsgui/models.py
index dd864e932fbc..0a19c9b26f1e 100644
--- a/setoolsgui/models.py
+++ b/setoolsgui/models.py
@@ -7,7 +7,7 @@ import logging
from contextlib import suppress
from typing import List
-from PyQt5.QtCore import QAbstractListModel, QItemSelectionModel, QAbstractTableModel, \
+from PyQt6.QtCore import QAbstractListModel, QItemSelectionModel, QAbstractTableModel, \
QModelIndex, QStringListModel, Qt
from setools.exception import NoCommon
diff --git a/setoolsgui/netifconmodel.py b/setoolsgui/netifconmodel.py
index 54659203e7e5..d9aa87bd0dea 100644
--- a/setoolsgui/netifconmodel.py
+++ b/setoolsgui/netifconmodel.py
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt
+from PyQt6.QtCore import Qt
from .models import SEToolsTableModel
diff --git a/setoolsgui/nodeconmodel.py b/setoolsgui/nodeconmodel.py
index f8055fca194d..9bbb426a71aa 100644
--- a/setoolsgui/nodeconmodel.py
+++ b/setoolsgui/nodeconmodel.py
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt
+from PyQt6.QtCore import Qt
from .models import SEToolsTableModel
diff --git a/setoolsgui/objclassmodel.py b/setoolsgui/objclassmodel.py
index ff1641f8cc3e..d67d45c12fd4 100644
--- a/setoolsgui/objclassmodel.py
+++ b/setoolsgui/objclassmodel.py
@@ -5,8 +5,8 @@
#
from itertools import chain
-from PyQt5.QtCore import Qt
-from PyQt5.QtGui import QPalette, QTextCursor
+from PyQt6.QtCore import Qt
+from PyQt6.QtGui import QPalette, QTextCursor
from setools.exception import NoCommon
diff --git a/setoolsgui/portconmodel.py b/setoolsgui/portconmodel.py
index 1c3de4494af9..5eb3b9327d19 100644
--- a/setoolsgui/portconmodel.py
+++ b/setoolsgui/portconmodel.py
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt
+from PyQt6.QtCore import Qt
from .models import SEToolsTableModel
diff --git a/setoolsgui/rbacrulemodel.py b/setoolsgui/rbacrulemodel.py
index 84d2ff09e4fc..c97cf36b0a3a 100644
--- a/setoolsgui/rbacrulemodel.py
+++ b/setoolsgui/rbacrulemodel.py
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt
+from PyQt6.QtCore import Qt
from setools.exception import RuleUseError
from .models import SEToolsTableModel
diff --git a/setoolsgui/rolemodel.py b/setoolsgui/rolemodel.py
index 2dd7fe64d37e..dc4852225bdb 100644
--- a/setoolsgui/rolemodel.py
+++ b/setoolsgui/rolemodel.py
@@ -3,8 +3,8 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt
-from PyQt5.QtGui import QPalette, QTextCursor
+from PyQt6.QtCore import Qt
+from PyQt6.QtGui import QPalette, QTextCursor
from setools.exception import MLSDisabled
diff --git a/setoolsgui/tableview.py b/setoolsgui/tableview.py
index 9ba49aa50fa3..71174008f85d 100644
--- a/setoolsgui/tableview.py
+++ b/setoolsgui/tableview.py
@@ -5,9 +5,9 @@
#
import csv
-from PyQt5.QtCore import Qt
-from PyQt5.QtGui import QKeySequence, QCursor
-from PyQt5.QtWidgets import QAction, QApplication, QFileDialog, QMenu, QTableView
+from PyQt6.QtCore import Qt
+from PyQt6.QtGui import QAction, QKeySequence, QCursor
+from PyQt6.QtWidgets import QApplication, QFileDialog, QMenu, QTableView
class SEToolsTableView(QTableView):
diff --git a/setoolsgui/terulemodel.py b/setoolsgui/terulemodel.py
index 53b61a06d152..ac1b32d76ec4 100644
--- a/setoolsgui/terulemodel.py
+++ b/setoolsgui/terulemodel.py
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt
+from PyQt6.QtCore import Qt
from setools.exception import RuleNotConditional, RuleUseError
from .models import SEToolsTableModel
diff --git a/setoolsgui/treeview.py b/setoolsgui/treeview.py
index a8f6fb4caef5..bf6d63d2b92b 100644
--- a/setoolsgui/treeview.py
+++ b/setoolsgui/treeview.py
@@ -3,9 +3,9 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt, QModelIndex
-from PyQt5.QtGui import QKeySequence, QCursor
-from PyQt5.QtWidgets import QAction, QApplication, QFileDialog, QMenu, QTreeWidget, \
+from PyQt6.QtCore import Qt, QModelIndex
+from PyQt6.QtGui import QAction, QKeySequence, QCursor
+from PyQt6.QtWidgets import QApplication, QFileDialog, QMenu, QTreeWidget, \
QTreeWidgetItemIterator
diff --git a/setoolsgui/typeattrmodel.py b/setoolsgui/typeattrmodel.py
index 0b7c7ffe65a5..ede73228e16a 100644
--- a/setoolsgui/typeattrmodel.py
+++ b/setoolsgui/typeattrmodel.py
@@ -3,8 +3,8 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt
-from PyQt5.QtGui import QPalette, QTextCursor
+from PyQt6.QtCore import Qt
+from PyQt6.QtGui import QPalette, QTextCursor
from setools.exception import MLSDisabled
diff --git a/setoolsgui/typemodel.py b/setoolsgui/typemodel.py
index 037996b96a8c..f25737169762 100644
--- a/setoolsgui/typemodel.py
+++ b/setoolsgui/typemodel.py
@@ -3,8 +3,8 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt
-from PyQt5.QtGui import QPalette, QTextCursor
+from PyQt6.QtCore import Qt
+from PyQt6.QtGui import QPalette, QTextCursor
from setools.exception import MLSDisabled
diff --git a/setoolsgui/usermodel.py b/setoolsgui/usermodel.py
index d5aca7bc11a0..4edb393a9d0e 100644
--- a/setoolsgui/usermodel.py
+++ b/setoolsgui/usermodel.py
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: LGPL-2.1-only
#
#
-from PyQt5.QtCore import Qt, QModelIndex
+from PyQt6.QtCore import Qt, QModelIndex
from setools.exception import MLSDisabled
from .details import DetailsPopup
diff --git a/setoolsgui/widget.py b/setoolsgui/widget.py
index e236623cef96..b2866139564c 100644
--- a/setoolsgui/widget.py
+++ b/setoolsgui/widget.py
@@ -7,7 +7,7 @@ import sys
from errno import ENOENT
import pkg_resources
-from PyQt5.uic import loadUi
+from PyQt6.uic import loadUi
# Stylesheet that adds a frame around QGroupBoxes
--
2.41.0