Skip to content

Commit eac51e9

Browse files
committed
Fix ListMultiSelectWidget under PyQt5
1 parent b4f88c5 commit eac51e9

File tree

1 file changed

+37
-26
lines changed

1 file changed

+37
-26
lines changed

python/plugins/processing/gui/ListMultiselectWidget.py

+37-26
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,20 @@
1313
__revision__ = '$Format:%H$'
1414
__date__ = '9/07/2013'
1515

16-
from PyQt4 import QtGui, QtCore, Qt
17-
18-
19-
class ListMultiSelectWidget(QtGui.QGroupBox):
16+
from qgis.PyQt.QtWidgets import (QGroupBox,
17+
QListWidget,
18+
QPushButton,
19+
QSizePolicy,
20+
QLabel,
21+
QHBoxLayout,
22+
QVBoxLayout,
23+
QListWidget,
24+
QAbstractItemView)
25+
from qgis.PyQt.QtGui import QFont
26+
from qgis.PyQt.QtCore import pyqtSignal
27+
28+
29+
class ListMultiSelectWidget(QGroupBox):
2030
"""Widget to show two parallel lists and move elements between the two
2131
2232
usage from code:
@@ -28,10 +38,10 @@ class ListMultiSelectWidget(QtGui.QGroupBox):
2838
promote it to ListMultiSelectWidget
2939
"""
3040

31-
selection_changed = QtCore.pyqtSignal()
41+
selection_changed = pyqtSignal()
3242

3343
def __init__(self, parent=None, title=None):
34-
QtGui.QGroupBox.__init__(self)
44+
QGroupBox.__init__(self)
3545
self.setTitle(title)
3646

3747
self.selected_widget = None
@@ -138,39 +148,39 @@ def _do_move(self, fromList, toList):
138148

139149
def _setupUI(self):
140150
self.setSizePolicy(
141-
QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Ignored)
151+
QSizePolicy.Preferred, QSizePolicy.Ignored)
142152

143153
self.setMinimumHeight(180)
144154

145-
self.main_horizontal_layout = QtGui.QHBoxLayout(self)
155+
self.main_horizontal_layout = QHBoxLayout(self)
146156

147-
italic_font = QtGui.QFont()
157+
italic_font = QFont()
148158
italic_font.setItalic(True)
149159

150160
# unselected widget
151-
self.unselected_widget = QtGui.QListWidget(self)
161+
self.unselected_widget = QListWidget(self)
152162
self._set_list_widget_defaults(self.unselected_widget)
153-
unselected_label = QtGui.QLabel()
163+
unselected_label = QLabel()
154164
unselected_label.setText('Unselected')
155165
unselected_label.setAlignment(Qt.Qt.AlignCenter)
156166
unselected_label.setFont(italic_font)
157-
unselected_v_layout = QtGui.QVBoxLayout()
167+
unselected_v_layout = QVBoxLayout()
158168
unselected_v_layout.addWidget(unselected_label)
159169
unselected_v_layout.addWidget(self.unselected_widget)
160170

161171
# selected widget
162-
self.selected_widget = QtGui.QListWidget(self)
172+
self.selected_widget = QListWidget(self)
163173
self._set_list_widget_defaults(self.selected_widget)
164-
selected_label = QtGui.QLabel()
174+
selected_label = QLabel()
165175
selected_label.setText('Selected')
166176
selected_label.setAlignment(Qt.Qt.AlignCenter)
167177
selected_label.setFont(italic_font)
168-
selected_v_layout = QtGui.QVBoxLayout()
178+
selected_v_layout = QVBoxLayout()
169179
selected_v_layout.addWidget(selected_label)
170180
selected_v_layout.addWidget(self.selected_widget)
171181

172182
# buttons
173-
self.buttons_vertical_layout = QtGui.QVBoxLayout()
183+
self.buttons_vertical_layout = QVBoxLayout()
174184
self.buttons_vertical_layout.setContentsMargins(0, -1, 0, -1)
175185

176186
self.select_all_btn = SmallQPushButton('>>')
@@ -183,10 +193,10 @@ def _setupUI(self):
183193
self.deselect_all_btn.setToolTip('Remove all')
184194

185195
# add buttons
186-
spacer_label = QtGui.QLabel() # pragmatic way to create a spacer with
187-
# the same height of the labels on top
188-
# of the lists, in order to align the
189-
# buttons with the lists.
196+
spacer_label = QLabel() # pragmatic way to create a spacer with
197+
# the same height of the labels on top
198+
# of the lists, in order to align the
199+
# buttons with the lists.
190200
self.buttons_vertical_layout.addWidget(spacer_label)
191201
self.buttons_vertical_layout.addWidget(self.select_btn)
192202
self.buttons_vertical_layout.addWidget(self.deselect_btn)
@@ -202,17 +212,18 @@ def _set_list_widget_defaults(self, widget):
202212
widget.setAlternatingRowColors(True)
203213
widget.setSortingEnabled(True)
204214
widget.setDragEnabled(True)
205-
widget.setDragDropMode(QtGui.QAbstractItemView.DragDrop)
215+
widget.setDragDropMode(QAbstractItemView.DragDrop)
206216
widget.setDragDropOverwriteMode(False)
207217
widget.setDefaultDropAction(QtCore.Qt.MoveAction)
208-
widget.setSelectionMode(QtGui.QAbstractItemView.MultiSelection)
218+
widget.setSelectionMode(QAbstractItemView.MultiSelection)
219+
209220

221+
class SmallQPushButton(QPushButton):
210222

211-
class SmallQPushButton(QtGui.QPushButton):
212223
def __init__(self, text):
213-
QtGui.QPushButton.__init__(self)
224+
QPushButton.__init__(self)
214225
self.setText(text)
215-
buttons_size_policy = QtGui.QSizePolicy(
216-
QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
226+
buttons_size_policy = QSizePolicy(
227+
QSizePolicy.Fixed, QSizePolicy.Fixed)
217228
self.setSizePolicy(buttons_size_policy)
218229
self.setMaximumSize(QtCore.QSize(30, 30))

0 commit comments

Comments
 (0)