PyQt doesn't understand &
-
when i have a string constant like this:
FILE = '&File'
, and i use it to create an action, the letterF
isn't actually underlined. is this a bug? -
Hi,
No it's not, the underline represent the accelerator you set by using the
&
sign in your action name. -
Hi,
No it's not, the underline represent the accelerator you set by using the
&
sign in your action name.@SGaist
i know right, but as you can see, i've put & in action name andF
isn't underlined -
Sorry, I misread your sentence.
Can you show the complete action creation ?
What version of Qt are you using ?
What version of PyQt ? -
Sorry, I misread your sentence.
Can you show the complete action creation ?
What version of Qt are you using ?
What version of PyQt ? -
@user4592357
Hmm, although I don't use them myself, I concur. My code is a little different:self.actionCases = QtWidgets.QAction("&Cases", self) ... self.toolbar = QToolBar() self.toolbar.addAction(self.actionCases)
"&Cases"
does not show theC
underlined."&&Cases"
shows as&Cases
, so it's doing some ampersand-parsing. I'm Linux. Maybe it's not supposed to do anything on Linux? What are you? I have to doubt whether this is a Python/PyQt issue... -
@user4592357
Hmm, although I don't use them myself, I concur. My code is a little different:self.actionCases = QtWidgets.QAction("&Cases", self) ... self.toolbar = QToolBar() self.toolbar.addAction(self.actionCases)
"&Cases"
does not show theC
underlined."&&Cases"
shows as&Cases
, so it's doing some ampersand-parsing. I'm Linux. Maybe it's not supposed to do anything on Linux? What are you? I have to doubt whether this is a Python/PyQt issue...@JonB
i'm on windows -
there's another weird error that bothers me. whenever i import a class, for example:
from PyQt5.QtCore import QObject
i get this error:
E0611:No name 'QObject' in module 'PyQt5.QtCore'
same goes for all
Qt
classes. -
Then again: which version of PyQt5 and Qt 5 are you using ?
How did you installed them ? -
@SGaist
Qt version: 5.10.0
SIP version: 5.10
PyQt version: 4.19.7installed with
pip3 install pyqt5
-
@SGaist
Qt version: 5.10.0
SIP version: 5.10
PyQt version: 4.19.7installed with
pip3 install pyqt5
from PyQt5.QtCore import QObject
This should indeed work for you. If it does not, I do not see how you can use any PyQt stuff at all! It is not related to the menu
&
issue.I am:
PyQt version: 5.7 Qt version: 5.7.1 SIP version: 4.18.1
Firstly, you say you are Qt
5.10
but PyQt4.19
. Therein lies your problem, for the imports at least. You must use a PyQt version matching your Qt version, and PyQt 4.x will not work for Qt version 5.x!!(Gosh, I just noticed my own SIP is way behind yours. Doesn't seem to have hindered me anywhere. Does SIP version matter much?)
Secondly, you used
pip3
to install PyQt. I had nothing but grief withpip3
, and never used it. If you are saying you did apip3 install pyqt5
and ended up with PyQt version 4.x, clearly something did not work correctly... Is it possible you have an older PyQt 4 lying around on your machine?@SGaist
I would not mind a comment on why --- for me at least, with correct Qt 5 / PyQt 5 --- I do not get accelerator key visual or behaviour with&...
menu item? -
from PyQt5.QtCore import QObject
This should indeed work for you. If it does not, I do not see how you can use any PyQt stuff at all! It is not related to the menu
&
issue.I am:
PyQt version: 5.7 Qt version: 5.7.1 SIP version: 4.18.1
Firstly, you say you are Qt
5.10
but PyQt4.19
. Therein lies your problem, for the imports at least. You must use a PyQt version matching your Qt version, and PyQt 4.x will not work for Qt version 5.x!!(Gosh, I just noticed my own SIP is way behind yours. Doesn't seem to have hindered me anywhere. Does SIP version matter much?)
Secondly, you used
pip3
to install PyQt. I had nothing but grief withpip3
, and never used it. If you are saying you did apip3 install pyqt5
and ended up with PyQt version 4.x, clearly something did not work correctly... Is it possible you have an older PyQt 4 lying around on your machine?@SGaist
I would not mind a comment on why --- for me at least, with correct Qt 5 / PyQt 5 --- I do not get accelerator key visual or behaviour with&...
menu item?@JonB
i can use everything but pylint underlines the import lines.and no, i installed Qt 5.10.1 then PyQt5 (using the command)
-
@JonB
i can use everything but pylint underlines the import lines.and no, i installed Qt 5.10.1 then PyQt5 (using the command)
@user4592357
So you are saying you are using PyQt 4.19.7 against Qt 5.10.0?
Plus, you did an install ofpip3 install pyqt5
and you got PyQt 4.19.7?If this really is the case, you should not be surprised that things don't work/appear right.
-
@user4592357
So you are saying you are using PyQt 4.19.7 against Qt 5.10.0?
Plus, you did an install ofpip3 install pyqt5
and you got PyQt 4.19.7?If this really is the case, you should not be surprised that things don't work/appear right.
@JonB
but why would that happen? (wrong installation) -
@JonB
but why would that happen? (wrong installation)@user4592357
I don't know, 'coz like I said I never got on with pip3.TBH, if you're saying you code actually works, I'd be surprised if it could run against PyQt4 at all. I wonder where you think you have PyQt 4 from in the first place? In my actual code I use
from PyQt5.Qt import PYQT_VERSION_STR
to get it, so you know what your code is actually using. Andfrom PyQt5.QtCore import QT_VERSION_STR
for Qt version. -
@user4592357
I don't know, 'coz like I said I never got on with pip3.TBH, if you're saying you code actually works, I'd be surprised if it could run against PyQt4 at all. I wonder where you think you have PyQt 4 from in the first place? In my actual code I use
from PyQt5.Qt import PYQT_VERSION_STR
to get it, so you know what your code is actually using. Andfrom PyQt5.QtCore import QT_VERSION_STR
for Qt version.@JonB
i can't do anything usingfrom PyQt4...
-
Not sure if this helps and it has nothing to do with the version of PyQt but in Windows you need to use the ALT key to bring up the underline letter used with the “&” symbol.
It’s referenced in this SO question and answer
-
@JonB
i can't do anything usingfrom PyQt4...
@user4592357
Look, I really don't where you are. But If you usedpip3 install pyqt5
and you got PyQt4 something is really wrong. And if it did get PyQt5 but somehow your code only finds PyQt4 you are equally in a mess. So you need to sort this out before you go any further.... -
He said he was using:
SIP version: 5.10
PyQt version: 4.19.7I think he just switched those two around and is confused. The most current version of SIP is 4.19.7 and the most current version of PyQt is 5.10. There never has been a version of PyQt4 with that version number nor has SIP gotten to that version number yet.
-
i know it's hard to guess but it's 'she' :)
btw this happens on my new laptop where i only installed qt 5.10.1 and then pyqt5.
but the same happened also on my former laptop where i had qt4 and installed pyqt5.i have no idea what's going on
anyways, i downloaded the sources and wannabuild. got the following:
$ python configure.py Error: Use the --qmake argument to explicitly specify a working Qt qmake.
python.exe .\configure.py --qmake C:\Qt\Qt5.10.1\5.10.1\msvc2015_64\bin\qmake .exe Querying qmake about your Qt installation... Determining the details of your Qt installation... Error: Failed to determine the detail of your Qt installation. Try again using the --verbose flag to see more detail about the problem.