[PySide] QtDesigner ???

Paolo De Stefani paolo at paolodestefani.it
Mon Apr 25 17:16:55 CEST 2022


Hi

The attached file where i have removed this line:

from __feature__ import snake_case, true_property

works so my problem is definitly related to the use of snake case or 
true property in my system

Any idea ?

Il 24/04/2022 17:25 Paolo De Stefani ha scritto:
> Hi
> 
> My system is Windows 11 21H2 Build SO 22000.613 (upgraded from Windows 
> 10)
> Python 3.10.4 from python.org
> PySide6 6.3.0 from pip
> 
> the strange thig is that if i run the script importing the 'bad' file i 
> get:
> 
> File "c:\PyWare\pyDBManager\Bug\DBManagerMainWindowBad.py", line 171, 
> in setupUi
>     self.tab_widget_new_database.addTab(self.tab, "")
> AttributeError: 'PySide6.QtWidgets.QHBoxLayout' object has no
> attribute 'isEmpty'
> 
> if i remove the vertical spacer i get:
> 
>  File "c:\PyWare\pyDBManager\Bug\DBManagerMainWindowBad.py", line 131,
> in setupUi
>     self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
> AttributeError: 'PySide6.QtWidgets.QHBoxLayout' object has no
> attribute 'setContentsMargins'. Did you mean: 'getContentsMargins'?
> 
> if i remove the layout of the user/password/database labels and
> lineedit but keeping the widgets the script works
> 
> if i now add some other widgets (one push button and one checkbox
> without a layout i get:
> 
> File "c:\PyWare\pyDBManager\Bug\pyDBManager.py", line 56, in __init__
>     self.ui.setupUi(self)
>   File "c:\PyWare\pyDBManager\Bug\DBManagerMainWindowBad.py", line
> 219, in setupUi
>     self.tab_widget.setCurrentIndex(3)
> AttributeError: 'PySide6.QtWidgets.QSpacerItem' object has no
> attribute 'hasHeightForWidth'. Did you mean: 'heightForWidth'?
> 
> if i put all the widgets in the group_box_create_database in a grid 
> layout i get
> 
>  File "c:\PyWare\pyDBManager\Bug\pyDBManager.py", line 56, in __init__
>     self.ui.setupUi(self)
>   File "c:\PyWare\pyDBManager\Bug\DBManagerMainWindowBad.py", line
> 132, in setupUi
>     self.gridLayout.setContentsMargins(0, 0, 0, 0)
> AttributeError: 'PySide6.QtWidgets.QGridLayout' object has no
> attribute 'setContentsMargins'. Did you mean: 'getContentsMargins'?
> 
> So it looks like i can't use a H/V/Grid layout and spacer too ...
> What's wrong ???
> 
> I need to add much more widgets as in the pictures attached
> 
> How can i do ???
> 
> 
> 
> Il 24/04/2022 16:38 David Ching ha scritto:
>> Hi Paolo,
>> 
>> I could not reproduce.   Either:
>> 
>> [pyDBManager.py]
>> #from Ui.DBManagerMainWindowGood import Ui_DBManagerMainWindow
>> from Ui.DBManagerMainWindowBad import Ui_DBManagerMainWindow
>> 
>> Or:
>> [pyDBManager.py]
>> from Ui.DBManagerMainWindowGood import Ui_DBManagerMainWindow
>> #from Ui.DBManagerMainWindowBad import Ui_DBManagerMainWindow
>> 
>> Ran without error.  The first added the Label and LineEdit as 
>> expected.
>> 
>> I ran your batch file after modifying it to work on my system (removed
>> hard-coded paths, etc.)  So I re-ran pyside6-uic and pyside6-rcc and 
>> ensured
>> the generated files were the same as yours.  They were, except for the
>> tooling version in the comments.  Mine is slightly older:
>> 
>> My system:
>>     * Windows 10
>>     * Python 3.9.6 (from https://python.org)
>>     * PySide6 6.2.3
>> 
>> In short, the (essentially) exact .py code works flawlessly here.
>> 
>> Let me know if I can help more,
>> David
>> 
>>> Date: Sun, 24 Apr 2022 09:58:55 +0200
>>> From: Paolo De Stefani <paolo at paolodestefani.it>
>>> To: Cristi?n Maureira-Fredes <Cristian.Maureira-Fredes at qt.io>
>>> Cc: pyside at qt-project.org
>>> Subject: Re: [PySide] QtDesigner ???
>>> Message-ID: <4d55f5618bf932a303e1207d1ea3a12b at paolodestefani.it>
>>> Content-Type: text/plain; charset="utf-8"; Format="flowed"
>>> 
>>> Hi
>>> 
>>> I shrinked more all of my ui file so now everything is in 5 ui/py 
>>> files
>>> 
>>> To create py files from ui i use this command in a windows batch 
>>> file:
>>> 
>>> cd c:\PyWare\pyDBManager\Bug
>>> REM create lib ui modules
>>> "c:\windows\system32\forfiles.exe" /P "C:\PyWare\pyDBManager\Bug" /M 
>>> *.ui
>> /c "cmd /c c:\Python310\Scripts\pyside6-uic -o @fname.py @file"
>>> pause
>>> 
>>> If i import from DBManagerMainWindowBad (line 33/34) running
>> pyDBManager.py i get:
>>> 
>>> Traceback (most recent call last):
>>>    File "c:\PyWare\pyDBManager\Bug\pyDBManager.py", line 161, in 
>>> <module>
>>>      window = MainWindow()
>>>    File "c:\PyWare\pyDBManager\Bug\pyDBManager.py", line 56, in 
>>> __init__
>>>      self.ui.setupUi(self)
>>>    File "c:\PyWare\pyDBManager\Bug\DBManagerMainWindowBad.py", line 
>>> 171,
>> in setupUi
>>>      self.tab_widget_new_database.addTab(self.tab, "")
>>> AttributeError: 'PySide6.QtWidgets.QHBoxLayout' object has no 
>>> attribute
>> 'isEmpty'
>>> 
>>> If i import from DBManagerMainWindowGood everything is working
>>> 
>>> So what's wrong in DBManagerMainWindowBad.ui ???
> 
> _______________________________________________
> PySide mailing list
> PySide at qt-project.org
> https://lists.qt-project.org/listinfo/pyside

-- 
Paolo De Stefani
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pyDBManagerB.py
Type: text/x-python
Size: 6893 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20220425/55598ea1/attachment.py>


More information about the PySide mailing list