diff --git a/pyproject.toml b/pyproject.toml
index e33cbd3..f304a17 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -32,7 +32,7 @@ dependencies = [
"labscript>=3.0.0",
"labscript_utils>=3.3.0",
"pandas>=0.13",
- "qtutils>=2.2.2",
+ "qtutils>=4.0",
"matplotlib",
]
dynamic = ["version"]
diff --git a/runmanager/__main__.py b/runmanager/__main__.py
index 0c38710..2c4b905 100644
--- a/runmanager/__main__.py
+++ b/runmanager/__main__.py
@@ -204,7 +204,7 @@ def tabLayoutChange(self):
if total_height > self.parent().height():
# Don't paint over the top of the scroll buttons:
scroll_buttons_area_height = 2*max(self.style().pixelMetric(QtWidgets.QStyle.PM_TabBarScrollButtonWidth),
- qapplication.globalStrut().width())
+ self.style().pixelMetric(QtWidgets.QStyle.PM_LayoutHorizontalSpacing))
self.paint_clip = self.width(), self.parent().height() - scroll_buttons_area_height
else:
self.paint_clip = None
@@ -240,8 +240,9 @@ def paintEvent(self, event):
def tabSizeHint(self, index):
fontmetrics = QtGui.QFontMetrics(self.font())
- text_width = fontmetrics.width(self.tabText(index))
- text_height = fontmetrics.height()
+ text_size = fontmetrics.size(QtCore.Qt.TextSingleLine, self.tabText(index))
+ text_width = text_size.width()
+ text_height = text_size.height()
height = text_height + 15
height = max(self.minheight, height)
width = text_width + 15
@@ -366,7 +367,7 @@ def __init__(self, *args):
p.setColor(
group,
QtGui.QPalette.HighlightedText,
- p.color(QtGui.QPalette.Active, QtGui.QPalette.Foreground)
+ p.color(QtGui.QPalette.Active, QtGui.QPalette.WindowText)
)
self.setPalette(p)
@@ -976,7 +977,7 @@ def on_tableView_globals_context_menu_requested(self, point):
menu.addAction(self.action_globals_set_selected_true)
menu.addAction(self.action_globals_set_selected_false)
menu.addAction(self.action_globals_delete_selected)
- menu.exec_(QtGui.QCursor.pos())
+ menu.exec(QtGui.QCursor.pos())
def on_globals_delete_selected_triggered(self):
selected_indexes = self.ui.tableView_globals.selectedIndexes()
@@ -1648,12 +1649,12 @@ def connect_signals(self):
self.groups_model.itemChanged, self.on_groups_model_item_changed)
# Keyboard shortcuts:
- engage_shortcut = QtWidgets.QShortcut('F5', self.ui,
+ engage_shortcut = QtGui.QShortcut('F5', self.ui,
lambda: self.ui.pushButton_engage.clicked.emit(False))
engage_shortcut.setAutoRepeat(False)
- QtWidgets.QShortcut('ctrl+W', self.ui, self.close_current_tab)
- QtWidgets.QShortcut('ctrl+Tab', self.ui, lambda: self.switch_tabs(+1))
- QtWidgets.QShortcut('ctrl+shift+Tab', self.ui, lambda: self.switch_tabs(-1))
+ QtGui.QShortcut('ctrl+W', self.ui, self.close_current_tab)
+ QtGui.QShortcut('ctrl+Tab', self.ui, lambda: self.switch_tabs(+1))
+ QtGui.QShortcut('ctrl+shift+Tab', self.ui, lambda: self.switch_tabs(-1))
def on_close_event(self):
save_data = self.get_save_data()
@@ -1875,7 +1876,7 @@ def on_treeView_axes_context_menu_requested(self, point):
# menu = QtWidgets.QMenu(self.ui)
# menu.addAction(self.action_axes_check_selected)
# menu.addAction(self.action_axes_uncheck_selected)
- # menu.exec_(QtGui.QCursor.pos())
+ # menu.exec(QtGui.QCursor.pos())
pass
def on_axes_check_selected_triggered(self, *args):
@@ -2047,7 +2048,7 @@ def on_treeView_groups_context_menu_requested(self, point):
copy_menu.addAction(filename, lambda filepath=filepath: self.on_groups_copy_selected_groups_triggered(filepath, False))
move_menu.addAction(filename, lambda filepath=filepath: self.on_groups_copy_selected_groups_triggered(filepath, True))
- menu.exec_(QtGui.QCursor.pos())
+ menu.exec(QtGui.QCursor.pos())
def on_groups_copy_selected_groups_triggered(self, dest_globals_file=None, delete_source_group=False):
selected_indexes = self.ui.treeView_groups.selectedIndexes()
@@ -3715,5 +3716,5 @@ def handler(self, request_data):
# Upon seeing a ctrl-c interrupt, quit the event loop
signal.signal(signal.SIGINT, lambda *args: qapplication.exit())
- qapplication.exec_()
+ qapplication.exec()
remote_server.shutdown()
diff --git a/runmanager/main.ui b/runmanager/main.ui
index 3f6f374..a71888b 100644
--- a/runmanager/main.ui
+++ b/runmanager/main.ui
@@ -32,28 +32,28 @@
QPushButton:hover {
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
- stop: 0 #f6f7fa, stop: 1 #dadbde);
- border: 1px solid #8f8f91;
+ stop: 0 palette(light), stop: 1 palette(window));
+ border: 1px solid palette(dark);
border-radius: 3px;
}
QPushButton:pressed {
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
- stop: 0 #dadbde, stop: 1 #f6f7fa);
- border: 1px solid #8f8f91;
+ stop: 0 palette(window), stop: 1 palette(light));
+ border: 1px solid palette(dark);
border-radius: 3px;
}
QPushButton:checked {
- background-color: #dadbde;
- border: 1px solid #8f8f91;
+ background-color: palette(window);
+ border: 1px solid palette(dark);
border-radius: 3px;
}
QPushButton:hover:checked {
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
- stop: 0 #dadbde, stop: 1 #f6f7fa);
- border: 1px solid #8f8f91;
+ stop: 0 palette(window), stop: 1 palette(light));
+ border: 1px solid palette(dark);
border-radius: 3px;
}
@@ -64,28 +64,28 @@ QToolButton {
QToolButton:hover {
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
- stop: 0 #f6f7fa, stop: 1 #dadbde);
- border: 1px solid #8f8f91;
+ stop: 0 palette(light), stop: 1 palette(window));
+ border: 1px solid palette(dark);
border-radius: 3px;
}
QToolButton:pressed {
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
- stop: 0 #dadbde, stop: 1 #f6f7fa);
- border: 1px solid #8f8f91;
+ stop: 0 palette(window), stop: 1 palette(light));
+ border: 1px solid palette(dark);
border-radius: 3px;
}
QToolButton:checked {
- background-color: #dadbde;
- border: 1px solid #8f8f91;
+ background-color: palette(window);
+ border: 1px solid palette(dark);
border-radius: 3px;
}
QToolButton:hover:checked {
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
- stop: 0 #dadbde, stop: 1 #f6f7fa);
- border: 1px solid #8f8f91;
+ stop: 0 palette(window), stop: 1 palette(light));
+ border: 1px solid palette(dark);
border-radius: 3px;
}
@@ -449,23 +449,6 @@ subprocess
Select folder ...
-
- QToolButton{
- border: none;
- background: white;
- padding: 2px;
-}
-
-QToolButton:hover {
- background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
- stop: 0 #f6f7fa, stop: 1 #dadbde);
- }
-
- QToolButton:pressed {
- background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
- stop: 0 #dadbde, stop: 1 #f6f7fa);
- }
-
...
@@ -484,10 +467,7 @@ QToolButton:hover {
false
- QToolButton{
- background: rgb(224,224,224);
- padding: 3px;
-}
+
QFrame::StyledPanel
@@ -534,21 +514,7 @@ QToolButton:hover {
Select a file ...
- QToolButton{
- border: none;
- background: white;
- padding: 2px;
-}
-
-QToolButton:hover {
- background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
- stop: 0 #f6f7fa, stop: 1 #dadbde);
- }
-
- QToolButton:pressed {
- background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
- stop: 0 #dadbde, stop: 1 #f6f7fa);
- }
+
...