13
13
__revision__ = '$Format:%H$'
14
14
__date__ = '9/07/2013'
15
15
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 ):
20
30
"""Widget to show two parallel lists and move elements between the two
21
31
22
32
usage from code:
@@ -28,10 +38,10 @@ class ListMultiSelectWidget(QtGui.QGroupBox):
28
38
promote it to ListMultiSelectWidget
29
39
"""
30
40
31
- selection_changed = QtCore . pyqtSignal ()
41
+ selection_changed = pyqtSignal ()
32
42
33
43
def __init__ (self , parent = None , title = None ):
34
- QtGui . QGroupBox .__init__ (self )
44
+ QGroupBox .__init__ (self )
35
45
self .setTitle (title )
36
46
37
47
self .selected_widget = None
@@ -138,39 +148,39 @@ def _do_move(self, fromList, toList):
138
148
139
149
def _setupUI (self ):
140
150
self .setSizePolicy (
141
- QtGui . QSizePolicy .Preferred , QtGui . QSizePolicy .Ignored )
151
+ QSizePolicy .Preferred , QSizePolicy .Ignored )
142
152
143
153
self .setMinimumHeight (180 )
144
154
145
- self .main_horizontal_layout = QtGui . QHBoxLayout (self )
155
+ self .main_horizontal_layout = QHBoxLayout (self )
146
156
147
- italic_font = QtGui . QFont ()
157
+ italic_font = QFont ()
148
158
italic_font .setItalic (True )
149
159
150
160
# unselected widget
151
- self .unselected_widget = QtGui . QListWidget (self )
161
+ self .unselected_widget = QListWidget (self )
152
162
self ._set_list_widget_defaults (self .unselected_widget )
153
- unselected_label = QtGui . QLabel ()
163
+ unselected_label = QLabel ()
154
164
unselected_label .setText ('Unselected' )
155
165
unselected_label .setAlignment (Qt .Qt .AlignCenter )
156
166
unselected_label .setFont (italic_font )
157
- unselected_v_layout = QtGui . QVBoxLayout ()
167
+ unselected_v_layout = QVBoxLayout ()
158
168
unselected_v_layout .addWidget (unselected_label )
159
169
unselected_v_layout .addWidget (self .unselected_widget )
160
170
161
171
# selected widget
162
- self .selected_widget = QtGui . QListWidget (self )
172
+ self .selected_widget = QListWidget (self )
163
173
self ._set_list_widget_defaults (self .selected_widget )
164
- selected_label = QtGui . QLabel ()
174
+ selected_label = QLabel ()
165
175
selected_label .setText ('Selected' )
166
176
selected_label .setAlignment (Qt .Qt .AlignCenter )
167
177
selected_label .setFont (italic_font )
168
- selected_v_layout = QtGui . QVBoxLayout ()
178
+ selected_v_layout = QVBoxLayout ()
169
179
selected_v_layout .addWidget (selected_label )
170
180
selected_v_layout .addWidget (self .selected_widget )
171
181
172
182
# buttons
173
- self .buttons_vertical_layout = QtGui . QVBoxLayout ()
183
+ self .buttons_vertical_layout = QVBoxLayout ()
174
184
self .buttons_vertical_layout .setContentsMargins (0 , - 1 , 0 , - 1 )
175
185
176
186
self .select_all_btn = SmallQPushButton ('>>' )
@@ -183,10 +193,10 @@ def _setupUI(self):
183
193
self .deselect_all_btn .setToolTip ('Remove all' )
184
194
185
195
# 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.
190
200
self .buttons_vertical_layout .addWidget (spacer_label )
191
201
self .buttons_vertical_layout .addWidget (self .select_btn )
192
202
self .buttons_vertical_layout .addWidget (self .deselect_btn )
@@ -202,17 +212,18 @@ def _set_list_widget_defaults(self, widget):
202
212
widget .setAlternatingRowColors (True )
203
213
widget .setSortingEnabled (True )
204
214
widget .setDragEnabled (True )
205
- widget .setDragDropMode (QtGui . QAbstractItemView .DragDrop )
215
+ widget .setDragDropMode (QAbstractItemView .DragDrop )
206
216
widget .setDragDropOverwriteMode (False )
207
217
widget .setDefaultDropAction (QtCore .Qt .MoveAction )
208
- widget .setSelectionMode (QtGui .QAbstractItemView .MultiSelection )
218
+ widget .setSelectionMode (QAbstractItemView .MultiSelection )
219
+
209
220
221
+ class SmallQPushButton (QPushButton ):
210
222
211
- class SmallQPushButton (QtGui .QPushButton ):
212
223
def __init__ (self , text ):
213
- QtGui . QPushButton .__init__ (self )
224
+ QPushButton .__init__ (self )
214
225
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 )
217
228
self .setSizePolicy (buttons_size_policy )
218
229
self .setMaximumSize (QtCore .QSize (30 , 30 ))
0 commit comments