pyqtconfig
pyqtconfig copied to clipboard
Unable to use pyqtconfig module
I am unable to import or run the pyqtconfig module. Below is example of error I get. I have PySide2 and PyQt5 installed already.
PS C:\Users\MyUsername> python -m pyqtconfig.demo
Traceback (most recent call last):
File "C:\Users\MyUsername\anaconda3\lib\runpy.py", line 183, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "C:\Users\MyUsername\anaconda3\lib\runpy.py", line 109, in _get_module_details
__import__(pkg_name)
File "C:\Users\MyUsername\anaconda3\lib\site-packages\pyqtconfig\__init__.py", line 1, in <module>
from .config import *
File "C:\Users\MyUsername\anaconda3\lib\site-packages\pyqtconfig\config.py", line 11, in <module>
from .qt import (QComboBox, QCheckBox, QAction,
ImportError: cannot import name 'QComboBox' from 'pyqtconfig.qt' (C:\Users\MyUsername\anaconda3\lib\site-packages\pyqtconfig\qt.py)
PS C:\Users\MyUsername>
I'm getting the exact same error message.
Yeah likewise.
I just changed mine to use the regular qtpy module which i have installed.
import sys
from pyqtconfig import ConfigManager
from qtpy import QtCore, QtGui, QtWidgets
from qtpy.QtCore import (QVariant, Qt, QMutex, QMutexLocker, QSettings,
QObject, Signal)
from qtpy.QtWidgets import (QComboBox, QCheckBox, QAction,
QActionGroup, QPushButton, QSpinBox,
QDoubleSpinBox, QPlainTextEdit, QLineEdit,
QListWidget, QSlider, QButtonGroup,
QTabWidget, QApplication, QGridLayout,
QTextEdit, QWidget, QMainWindow)
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.setWindowTitle('PyQtConfig Demo')
self.config = ConfigManager()
CHOICE_A = 1
CHOICE_B = 2
CHOICE_C = 3
CHOICE_D = 4
map_dict = {
'Choice A': CHOICE_A,
'Choice B': CHOICE_B,
'Choice C': CHOICE_C,
'Choice D': CHOICE_D,
}
self.config.set_defaults({
'number': 13,
'text': 'hello',
'active': True,
'combo': CHOICE_C,
})
gd = QGridLayout()
sb = QSpinBox()
gd.addWidget(sb, 0, 1)
self.config.add_handler('number', sb)
te = QLineEdit()
gd.addWidget(te, 1, 1)
self.config.add_handler('text', te)
cb = QCheckBox()
gd.addWidget(cb, 2, 1)
self.config.add_handler('active', cb)
cmb = QComboBox()
cmb.addItems(map_dict.keys())
gd.addWidget(cmb, 3, 1)
self.config.add_handler('combo', cmb, mapper=map_dict)
self.current_config_output = QTextEdit()
gd.addWidget(self.current_config_output, 0, 3, 3, 1)
self.config.updated.connect(self.show_config)
self.show_config()
self.window = QWidget()
self.window.setLayout(gd)
self.setCentralWidget(self.window)
def show_config(self):
self.current_config_output.setText(str(self.config.as_dict()))
# Create a Qt application
app = QApplication(sys.argv)
app.setOrganizationName("PyQtConfig")
app.setOrganizationDomain("martinfitzpatrick.name")
app.setApplicationName("PyQtConfig")
w = MainWindow()
w.show()
app.exec_() # Enter Qt application main loop
