Changeset 0849aec in sasview for src/sas/qtgui/Perspectives


Ignore:
Timestamp:
Oct 30, 2017 7:50:09 AM (7 years ago)
Author:
Piotr Rozyczko <rozyczko@…>
Branches:
ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc
Children:
304d082
Parents:
99ea1b0
Message:

Initial, in-progress version. Not really working atm. SASVIEW-787

Location:
src/sas/qtgui/Perspectives
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • src/sas/qtgui/Perspectives/Fitting/FittingOptions.py

    • Property mode changed from 100755 to 100644
    rb0b09b9 r0849aec  
    44import types 
    55 
    6 from PyQt4 import QtCore 
    7 from PyQt4 import QtGui 
    8 from PyQt4 import QtWebKit 
     6from PyQt5 import QtCore 
     7from PyQt5 import QtGui 
     8from PyQt5 import QtWidgets 
     9from PyQt5 import QtWebKitWidgets 
    910 
    1011from sas.qtgui.UI import images_rc 
     
    2122 
    2223 
    23 class FittingOptions(QtGui.QDialog, Ui_FittingOptions): 
     24class FittingOptions(QtWidgets.QDialog, Ui_FittingOptions): 
    2425    """ 
    2526    Hard-coded version of the fit options dialog available from BUMPS. 
     
    5253 
    5354        # Handle the Apply button click 
    54         self.buttonBox.button(QtGui.QDialogButtonBox.Ok).clicked.connect(self.onApply) 
     55        self.buttonBox.button(QtWidgets.QDialogButtonBox.Ok).clicked.connect(self.onApply) 
    5556        # handle the Help button click 
    56         self.buttonBox.button(QtGui.QDialogButtonBox.Help).clicked.connect(self.onHelp) 
     57        self.buttonBox.button(QtWidgets.QDialogButtonBox.Help).clicked.connect(self.onHelp) 
    5758 
    5859        # Handle the combo box changes 
     
    7172 
    7273        # OK has to be initialized to True, after initial validator setup 
    73         self.buttonBox.button(QtGui.QDialogButtonBox.Ok).setEnabled(True) 
     74        self.buttonBox.button(QtWidgets.QDialogButtonBox.Ok).setEnabled(True) 
    7475 
    7576        # Display HTML content 
    76         self.helpView = QtWebKit.QWebView() 
     77        self.helpView = QtWebKitWidgets.QWebView() 
    7778 
    7879    def assignValidators(self): 
     
    104105        if state == QtGui.QValidator.Acceptable: 
    105106            color = '' # default 
    106             self.buttonBox.button(QtGui.QDialogButtonBox.Ok).setEnabled(True) 
     107            self.buttonBox.button(QtWidgets.QDialogButtonBox.Ok).setEnabled(True) 
    107108        else: 
    108109            color = '#fff79a' # yellow 
    109             self.buttonBox.button(QtGui.QDialogButtonBox.Ok).setEnabled(False) 
     110            self.buttonBox.button(QtWidgets.QDialogButtonBox.Ok).setEnabled(False) 
    110111 
    111112        sender.setStyleSheet('QLineEdit { background-color: %s }' % color) 
     
    134135 
    135136        # OK has to be reinitialized to True 
    136         self.buttonBox.button(QtGui.QDialogButtonBox.Ok).setEnabled(True) 
     137        self.buttonBox.button(QtWidgets.QDialogButtonBox.Ok).setEnabled(True) 
    137138 
    138139    def onApply(self): 
     
    148149            """ 
    149150            widget = self.widgetFromOption(option) 
    150             new_value = widget.currentText() if isinstance(widget, QtGui.QComboBox) \ 
     151            new_value = widget.currentText() if isinstance(widget, QtWidgets.QComboBox) \ 
    151152                else float(widget.text()) 
    152153            self.config.values[self.current_fitter_id][option] = new_value 
  • src/sas/qtgui/Perspectives/Fitting/FittingPerspective.py

    • Property mode changed from 100755 to 100644
    rb0b09b9 r0849aec  
    11import numpy 
    22 
    3 from PyQt4 import QtCore 
    4 from PyQt4 import QtGui 
     3from PyQt5 import QtCore 
     4from PyQt5 import QtGui 
     5from PyQt5 import QtWidgets 
    56 
    67from bumps import options 
     
    1314#from sas.qtgui.Perspectives.Fitting import ModelUtilities 
    1415 
    15 class FittingWindow(QtGui.QTabWidget): 
     16class FittingWindow(QtWidgets.QTabWidget): 
    1617    """ 
    1718    """ 
    1819    name = "Fitting" # For displaying in the combo box in DataExplorer 
    1920    def __init__(self, parent=None, data=None): 
     21 
    2022        super(FittingWindow, self).__init__() 
    2123 
  • src/sas/qtgui/Perspectives/Fitting/FittingUtilities.py

    r895e7359 r0849aec  
    11from copy import deepcopy 
    22 
    3 from PyQt4 import QtGui 
    4 from PyQt4 import QtCore 
     3from PyQt5 import QtCore 
     4from PyQt5 import QtGui 
     5from PyQt5 import QtWidgets 
    56 
    67import numpy 
  • src/sas/qtgui/Perspectives/Fitting/FittingWidget.py

    r99ea1b0 r0849aec  
    99import numpy as np 
    1010 
    11 from PyQt4 import QtGui 
    12 from PyQt4 import QtCore 
    13 from PyQt4 import QtWebKit 
     11from PyQt5 import QtCore 
     12from PyQt5 import QtGui 
     13from PyQt5 import QtWidgets 
     14from PyQt5 import QtWebKitWidgets 
    1415 
    1516from sasmodels import generate 
     
    7374        return QtGui.QStandardItemModel.headerData(self, section, orientation, role) 
    7475 
    75 class FittingWidget(QtGui.QWidget, Ui_FittingWidgetUI): 
     76class FittingWidget(QtWidgets.QWidget, Ui_FittingWidgetUI): 
    7677    """ 
    7778    Main widget for selecting form and structure factor models 
     
    120121 
    121122        # Display HTML content 
    122         self.helpView = QtWebKit.QWebView() 
     123        self.helpView = QtWebKitWidgets.QWebView() 
    123124 
    124125        # New font to display angstrom symbol 
     
    228229        """ 
    229230        # Options widget 
    230         layout = QtGui.QGridLayout() 
     231        layout = QtWidgets.QGridLayout() 
    231232        self.options_widget = OptionsWidget(self, self.logic) 
    232233        layout.addWidget(self.options_widget) 
     
    234235 
    235236        # Smearing widget 
    236         layout = QtGui.QGridLayout() 
     237        layout = QtWidgets.QGridLayout() 
    237238        self.smearing_widget = SmearingWidget(self) 
    238239        layout.addWidget(self.smearing_widget) 
     
    249250 
    250251        # Magnetic angles explained in one picture 
    251         self.magneticAnglesWidget = QtGui.QWidget() 
    252         labl = QtGui.QLabel(self.magneticAnglesWidget) 
     252        self.magneticAnglesWidget = QtWidgets.QWidget() 
     253        labl = QtWidgets.QLabel(self.magneticAnglesWidget) 
    253254        pixmap = QtGui.QPixmap(GuiUtils.IMAGES_DIRECTORY_LOCATION + '/M_angles_pic.bmp') 
    254255        labl.setPixmap(pixmap) 
     
    269270        self.lstParams.setModel(self._model_model) 
    270271        self.readCategoryInfo() 
     272 
    271273        self.model_parameters = None 
    272274 
     
    302304        self.lstParams.customContextMenuRequested.connect(self.showModelDescription) 
    303305        self.lstParams.setAttribute(QtCore.Qt.WA_MacShowFocusRect, False) 
    304  
    305306        # Poly model displayed in poly list 
    306307        self.lstPoly.setModel(self._poly_model) 
     
    460461            msg += "You must select a model to get information on this" 
    461462 
    462         menu = QtGui.QMenu() 
    463         label = QtGui.QLabel(msg) 
     463        menu = QtWidgets.QMenu() 
     464        label = QtWidgets.QLabel(msg) 
    464465        action = QtGui.QWidgetAction(self) 
    465466        action.setDefaultWidget(label) 
     
    909910        self.lstParams.resizeColumnToContents(4) 
    910911        self.lstParams.resizeColumnToContents(5) 
    911         self.lstParams.setSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Expanding) 
     912        self.lstParams.setSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding) 
    912913 
    913914        self.has_error_column = True 
     
    12241225        # Adjust the table cells width 
    12251226        self.lstParams.resizeColumnToContents(0) 
    1226         self.lstParams.setSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Expanding) 
     1227        self.lstParams.setSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding) 
    12271228 
    12281229        # Now we claim the model has been loaded 
     
    15271528        table.verticalHeader().setVisible(False) 
    15281529        table.setAlternatingRowColors(True) 
    1529         table.setSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Expanding) 
    1530         table.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) 
     1530        table.setSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding) 
     1531        table.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows) 
    15311532        table.resizeColumnsToContents() 
    15321533 
    15331534        # Header 
    15341535        header = table.horizontalHeader() 
    1535         header.setResizeMode(QtGui.QHeaderView.ResizeToContents) 
    1536  
    1537         header.ResizeMode(QtGui.QHeaderView.Interactive) 
     1536        header.setSectionResizeMode(QtWidgets.QHeaderView.ResizeToContents) 
     1537        header.ResizeMode(QtWidgets.QHeaderView.Interactive) 
     1538 
     1539        # Qt5: the following 2 lines crash - figure out why! 
    15381540        # Resize column 0 and 7 to content 
    1539         header.setResizeMode(0, QtGui.QHeaderView.ResizeToContents) 
    1540         header.setResizeMode(7, QtGui.QHeaderView.ResizeToContents) 
     1541        #header.setSectionResizeMode(0, QtWidgets.QHeaderView.ResizeToContents) 
     1542        #header.setSectionResizeMode(7, QtWidgets.QHeaderView.ResizeToContents) 
    15411543 
    15421544    def setPolyModel(self): 
     
    15911593 
    15921594        # All possible polydisp. functions as strings in combobox 
    1593         func = QtGui.QComboBox() 
     1595        func = QtWidgets.QComboBox() 
    15941596        func.addItems([str(name_disp) for name_disp in POLYDISPERSITY_MODELS.keys()]) 
    15951597        # Set the default index 
     
    16741676        Show the load file dialog and loads requested data into state 
    16751677        """ 
    1676         datafile = QtGui.QFileDialog.getOpenFileName( 
    1677             self, "Choose a weight file", "", "All files (*.*)", 
    1678             QtGui.QFileDialog.DontUseNativeDialog) 
     1678        datafile = QtWidgets.QFileDialog.getOpenFileName( 
     1679            self, "Choose a weight file", "", "All files (*.*)", None, 
     1680            QtWidgets.QFileDialog.DontUseNativeDialog) 
    16791681 
    16801682        if datafile is None or str(datafile)=='': 
     
    17751777        item1 = QtGui.QStandardItem(param_name) 
    17761778 
    1777         func = QtGui.QComboBox() 
     1779        func = QtWidgets.QComboBox() 
    17781780        # Available range of shells displayed in the combobox 
    17791781        func.addItems([str(i) for i in range(param_length+1)]) 
  • src/sas/qtgui/Perspectives/Fitting/OptionsWidget.py

    • Property mode changed from 100755 to 100644
    rb0b09b9 r0849aec  
    33""" 
    44import numpy as np 
    5 from PyQt4 import QtGui 
    6 from PyQt4 import QtCore 
     5from PyQt5 import QtCore 
     6from PyQt5 import QtGui 
     7from PyQt5 import QtWidgets 
    78 
    89from sas.qtgui.Plotting.PlotterData import Data2D 
     
    2122    'LOG_SPACED'] 
    2223 
    23 class DataWidgetMapper(QtGui.QDataWidgetMapper): 
     24class DataWidgetMapper(QtWidgets.QDataWidgetMapper): 
    2425    """ 
    2526    Custom version of the standard QDataWidgetMapper allowing for proper 
     
    3233            super(DataWidgetMapper, self).addMapping(widget, section, propertyName) 
    3334 
    34         if isinstance(widget, QtGui.QComboBox): 
     35        if isinstance(widget, QtWidgets.QComboBox): 
    3536            delegate = self.itemDelegate() 
    3637            widget.currentIndexChanged.connect(lambda: delegate.commitData.emit(widget)) 
    3738 
    38         elif isinstance(widget, QtGui.QCheckBox): 
     39        elif isinstance(widget, QtWidgets.QCheckBox): 
    3940            delegate = self.itemDelegate() 
    4041            widget.stateChanged.connect(lambda: delegate.commitData.emit(widget)) 
    4142 
    42 class OptionsWidget(QtGui.QWidget, Ui_tabOptions): 
     43class OptionsWidget(QtWidgets.QWidget, Ui_tabOptions): 
    4344    plot_signal = QtCore.pyqtSignal() 
    4445    def __init__(self, parent=None, logic=None): 
     
    5253 
    5354        # Weight radio box group 
    54         self.weightingGroup = QtGui.QButtonGroup() 
     55        self.weightingGroup = QtWidgets.QButtonGroup() 
    5556        self.weighting = 0 
    5657 
     
    114115        self.mapper.addMapping(self.txtNpts,     MODEL.index('NPTS')) 
    115116        self.mapper.addMapping(self.chkLogData,  MODEL.index('LOG_SPACED')) 
    116         self.mapper.toFirst() 
     117        # FIXME DOESNT WORK WITH QT5 
     118        #self.mapper.toFirst() 
    117119 
    118120    def toggleLogData(self, isChecked): 
  • src/sas/qtgui/Perspectives/Fitting/SmearingWidget.py

    • Property mode changed from 100755 to 100644
    rb0b09b9 r0849aec  
    22Widget/logic for smearing data. 
    33""" 
    4 from PyQt4 import QtGui 
    5 from PyQt4 import QtCore 
     4from PyQt5 import QtCore 
     5from PyQt5 import QtGui 
     6from PyQt5 import QtWidgets 
    67 
    78from sas.qtgui.Plotting.PlotterData import Data1D 
     
    1112from sas.qtgui.Perspectives.Fitting.UI.SmearingWidgetUI import Ui_SmearingWidgetUI 
    1213 
    13 class DataWidgetMapper(QtGui.QDataWidgetMapper): 
     14class DataWidgetMapper(QtWidgets.QDataWidgetMapper): 
    1415    """ 
    1516    Custom version of the standard QDataWidgetMapper allowing for proper 
     
    2223            super(DataWidgetMapper, self).addMapping(widget, section, propertyName) 
    2324 
    24         if isinstance(widget, QtGui.QComboBox): 
     25        if isinstance(widget, QtWidgets.QComboBox): 
    2526            delegate = self.itemDelegate() 
    2627            widget.currentIndexChanged.connect(lambda: delegate.commitData.emit(widget)) 
     
    3536    'ACCURACY'] 
    3637 
    37 class SmearingWidget(QtGui.QWidget, Ui_SmearingWidgetUI): 
     38class SmearingWidget(QtWidgets.QWidget, Ui_SmearingWidgetUI): 
    3839    def __init__(self, parent=None): 
    3940        super(SmearingWidget, self).__init__() 
     
    8384        self.mapper.addMapping(self.cbSmearing,   MODEL.index('SMEARING')) 
    8485        self.mapper.addMapping(self.cbAccuracy,   MODEL.index('ACCURACY')) 
    85         self.mapper.toFirst() 
     86 
     87        # FIXME DOESNT WORK WITH QT5 
     88        #self.mapper.toFirst() 
    8689 
    8790    def updateSmearing(self, data=None): 
  • src/sas/qtgui/Perspectives/Fitting/ViewDelegate.py

    r7ffa5ee9 r0849aec  
    1 from PyQt4 import QtGui 
    2 from PyQt4 import QtCore 
     1from PyQt5 import QtCore 
     2from PyQt5 import QtGui 
     3from PyQt5 import QtWidgets 
    34 
    45import sas.qtgui.Utilities.GuiUtils as GuiUtils 
    56 
    6 class ModelViewDelegate(QtGui.QStyledItemDelegate): 
     7class ModelViewDelegate(QtWidgets.QStyledItemDelegate): 
    78    """ 
    89    Custom delegate for appearance and behavior control of the model view 
     
    1213        Overwrite generic constructor to allow for some globals 
    1314        """ 
    14         super(QtGui.QStyledItemDelegate, self).__init__() 
     15        super(QtWidgets.QStyledItemDelegate, self).__init__() 
    1516 
    1617        # Main parameter table view columns 
     
    4344        if index.column() in self.fancyColumns(): 
    4445            # Units - present in nice HTML 
    45             options = QtGui.QStyleOptionViewItemV4(option) 
     46            #options = QtWidgets.QStyleOptionViewItemV4(option) 
     47            options = QtWidgets.QStyleOptionViewItem(option) 
    4648            self.initStyleOption(options,index) 
    4749 
     
    5759            # delete the original content 
    5860            options.text = "" 
    59             style.drawControl(QtGui.QStyle.CE_ItemViewItem, options, painter, options.widget); 
     61            style.drawControl(QtWidgets.QStyle.CE_ItemViewItem, options, painter, options.widget); 
    6062 
    6163            context = QtGui.QAbstractTextDocumentLayout.PaintContext() 
    62             textRect = style.subElementRect(QtGui.QStyle.SE_ItemViewItemText, options) 
     64            textRect = style.subElementRect(QtWidgets.QStyle.SE_ItemViewItemText, options) 
    6365 
    6466            painter.save() 
     
    7072        else: 
    7173            # Just the default paint 
    72             QtGui.QStyledItemDelegate.paint(self, painter, option, index) 
     74            QtWidgets.QStyledItemDelegate.paint(self, painter, option, index) 
    7375 
    7476    def createEditor(self, widget, option, index): 
     
    7981            return 0 
    8082        if index.column() == self.param_value: #only in the value column 
    81             editor = QtGui.QLineEdit(widget) 
     83            editor = QtWidgets.QLineEdit(widget) 
    8284            validator = QtGui.QDoubleValidator() 
    8385            editor.setValidator(validator) 
     
    100102                # balloon popup? tooltip? cell background colour flash? 
    101103                return 
    102         QtGui.QStyledItemDelegate.setModelData(self, editor, model, index) 
    103  
    104  
    105 class PolyViewDelegate(QtGui.QStyledItemDelegate): 
     104        QtWidgets.QStyledItemDelegate.setModelData(self, editor, model, index) 
     105 
     106 
     107class PolyViewDelegate(QtWidgets.QStyledItemDelegate): 
    106108    """ 
    107109    Custom delegate for appearance and behavior control of the polydispersity view 
     
    116118        Overwrite generic constructor to allow for some globals 
    117119        """ 
    118         super(QtGui.QStyledItemDelegate, self).__init__() 
     120        super(QtWidgets.QStyledItemDelegate, self).__init__() 
    119121 
    120122        self.poly_parameter = 0 
     
    160162            return None 
    161163        elif index.column() in self.editableParameters(): 
    162             self.editor = QtGui.QLineEdit(widget) 
     164            self.editor = QtWidgets.QLineEdit(widget) 
    163165            validator = QtGui.QDoubleValidator() 
    164166            self.editor.setValidator(validator) 
    165167            return self.editor 
    166168        else: 
    167             QtGui.QStyledItemDelegate.createEditor(self, widget, option, index) 
     169            QtWidgets.QStyledItemDelegate.createEditor(self, widget, option, index) 
    168170 
    169171    def paint(self, painter, option, index): 
     
    173175        if index.column() in (self.poly_min, self.poly_max): 
    174176            # Units - present in nice HTML 
    175             options = QtGui.QStyleOptionViewItemV4(option) 
     177            options = QtWidgets.QStyleOptionViewItem(option) 
    176178            self.initStyleOption(options,index) 
    177179 
     
    187189            # delete the original content 
    188190            options.text = "" 
    189             style.drawControl(QtGui.QStyle.CE_ItemViewItem, options, painter, options.widget); 
     191            style.drawControl(QtWidgets.QStyle.CE_ItemViewItem, options, painter, options.widget); 
    190192 
    191193            context = QtGui.QAbstractTextDocumentLayout.PaintContext() 
    192             textRect = style.subElementRect(QtGui.QStyle.SE_ItemViewItemText, options) 
     194            textRect = style.subElementRect(QtWidgets.QStyle.SE_ItemViewItemText, options) 
    193195 
    194196            painter.save() 
     
    200202        else: 
    201203            # Just the default paint 
    202             QtGui.QStyledItemDelegate.paint(self, painter, option, index) 
    203  
    204 class MagnetismViewDelegate(QtGui.QStyledItemDelegate): 
     204            QtWidgets.QStyledItemDelegate.paint(self, painter, option, index) 
     205 
     206class MagnetismViewDelegate(QtWidgets.QStyledItemDelegate): 
    205207    """ 
    206208    Custom delegate for appearance and behavior control of the magnetism view 
     
    210212        Overwrite generic constructor to allow for some globals 
    211213        """ 
    212         super(QtGui.QStyledItemDelegate, self).__init__() 
     214        super(QtWidgets.QStyledItemDelegate, self).__init__() 
    213215 
    214216        self.mag_parameter = 0 
     
    238240            return 0 
    239241        if index.column() in self.editableParameters(): 
    240             editor = QtGui.QLineEdit(widget) 
     242            editor = QtWidgets.QLineEdit(widget) 
    241243            validator = QtGui.QDoubleValidator() 
    242244            editor.setValidator(validator) 
    243245            return editor 
    244246        else: 
    245             QtGui.QStyledItemDelegate.createEditor(self, widget, option, index) 
     247            QtWidgets.QStyledItemDelegate.createEditor(self, widget, option, index) 
    246248 
    247249    def paint(self, painter, option, index): 
     
    251253        if index.column() in (self.mag_min, self.mag_max, self.mag_unit): 
    252254            # Units - present in nice HTML 
    253             options = QtGui.QStyleOptionViewItemV4(option) 
     255            options = QtWidgets.QStyleOptionViewItem(option) 
    254256            self.initStyleOption(options,index) 
    255257 
     
    265267            # delete the original content 
    266268            options.text = "" 
    267             style.drawControl(QtGui.QStyle.CE_ItemViewItem, options, painter, options.widget); 
     269            style.drawControl(QtWidgets.QStyle.CE_ItemViewItem, options, painter, options.widget); 
    268270 
    269271            context = QtGui.QAbstractTextDocumentLayout.PaintContext() 
    270             textRect = style.subElementRect(QtGui.QStyle.SE_ItemViewItemText, options) 
     272            textRect = style.subElementRect(QtWidgets.QStyle.SE_ItemViewItemText, options) 
    271273 
    272274            painter.save() 
     
    278280        else: 
    279281            # Just the default paint 
    280             QtGui.QStyledItemDelegate.paint(self, painter, option, index) 
     282            QtWidgets.QStyledItemDelegate.paint(self, painter, option, index) 
  • src/sas/qtgui/Perspectives/Invariant/InvariantDetails.py

    • Property mode changed from 100755 to 100644
    rb0b09b9 r0849aec  
    11import sys 
    22import os 
    3 from PyQt4 import QtCore 
    4 from PyQt4 import QtGui 
     3from PyQt5 import QtCore 
     4from PyQt5 import QtGui 
     5from PyQt5 import QtWidgets 
    56 
    67# local 
     
    89from .InvariantUtils import WIDGETS 
    910 
    10 class DetailsDialog(QtGui.QDialog, Ui_Dialog): 
     11class DetailsDialog(QtWidgets.QDialog, Ui_Dialog): 
    1112    """ 
    1213    """ 
  • src/sas/qtgui/Perspectives/Invariant/InvariantPerspective.py

    r99ea1b0 r0849aec  
    22import sys 
    33import os 
    4 from PyQt4 import QtCore 
    5 from PyQt4 import QtGui 
    6 from PyQt4 import QtWebKit 
     4from PyQt5 import QtCore 
     5from PyQt5 import QtGui 
     6from PyQt5 import QtWidgets 
     7from PyQt5 import QtWebKitWidgets 
    78 
    89from twisted.internet import threads 
     
    3536        self._model.appendRow(item) 
    3637 
    37 class InvariantWindow(QtGui.QDialog, Ui_tabbedInvariantUI): 
     38class InvariantWindow(QtWidgets.QDialog, Ui_tabbedInvariantUI): 
    3839    # The controller which is responsible for managing signal slots connections 
    3940    # for the gui and providing an interface to the data model. 
     
    6162        self._model_item = QtGui.QStandardItem() 
    6263 
    63         self._helpView = QtWebKit.QWebView() 
     64        self._helpView = QtWebKitWidgets.QWebView() 
    6465        self.detailsDialog = DetailsDialog(self) 
    6566 
     
    502503    def setupMapper(self): 
    503504        # Set up the mapper. 
    504         self.mapper = QtGui.QDataWidgetMapper(self) 
     505        self.mapper = QtWidgets.QDataWidgetMapper(self) 
    505506        self.mapper.setOrientation(QtCore.Qt.Vertical) 
    506507        self.mapper.setModel(self.model) 
     
    543544        self.mapper.addMapping(self.lineEdit_18, WIDGETS.W_INVARIANT_ERR) 
    544545 
    545         self.mapper.toFirst() 
     546        # FIXME DOESNT WORK WITH QT5 
     547        #self.mapper.toFirst() 
    546548 
    547549    def setData(self, data_item, is_batch=False): 
     
    644646        """ 
    645647        return False 
    646  
    647 if __name__ == "__main__": 
    648     app = QtGui.QApplication([]) 
    649     import qt4reactor 
    650     qt4reactor.install() 
    651     # DO NOT move the following import to the top! 
    652     # (unless you know what you're doing) 
    653     from twisted.internet import reactor 
    654     dlg = InvariantWindow(reactor) 
    655     dlg.show() 
    656     reactor.run() 
Note: See TracChangeset for help on using the changeset viewer.