Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

PyQt4 et style OSX

4 réponses
Avatar
duick
Bonjour,

je m'initie à PyQt sous MacOS X.5, mais le problème ce que lorsque
j'exécute le code,
l'interface n'a pas le look d'OSX.

Lorsque je cherche dans la doc de Qt, je trouve un QMacStyle, mais je
ne le retrouve
pas de PyQt4.

Comment faire ?

Merci.

code:
import sys
from PyQt4 import QtGui, QtCore

class QuitButton(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)

self.setGeometry(200, 200, 250, 150)
self.setWindowTitle('Test')

quit = QtGui.QPushButton('Fermer', self)
quit.setGeometry(10, 10, 60, 35)

self.connect(quit, QtCore.SIGNAL('clicked()'),
QtGui.qApp, QtCore.SLOT('quit()'))


app = QtGui.QApplication(sys.argv)
qb = QuitButton()
qb.show()
sys.exit(app.exec_())

4 réponses

Avatar
kib
Bonjour,

je m'initie à PyQt sous MacOS X.5, mais le problème ce que lorsque
j'exécute le code,
l'interface n'a pas le look d'OSX.

Lorsque je cherche dans la doc de Qt, je trouve un QMacStyle, mais je ne
le retrouve
pas de PyQt4.

Comment faire ?

Merci.

code:
import sys
from PyQt4 import QtGui, QtCore

class QuitButton(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)

self.setGeometry(200, 200, 250, 150)
self.setWindowTitle('Test')

quit = QtGui.QPushButton('Fermer', self)
quit.setGeometry(10, 10, 60, 35)

self.connect(quit, QtCore.SIGNAL('clicked()'),
QtGui.qApp, QtCore.SLOT('quit()'))


app = QtGui.QApplication(sys.argv)
qb = QuitButton()
qb.show()
sys.exit(app.exec_())



Salut,

Sans garantie, essaye ça:
après la ligne 'app=...' :

QtGui.QApplication.setStyle(QtGui.QStyleFactory.create("QMacStyle"))

Je l'ai repris sur un de mes anciens tutos, mais ça fait longtemps que
je n'ai pas remis la tête dans PyQt4.

@+.

Avatar
duick
Merci pour ta réponse, mais malheureusement ça ne marche pas.
Que je le place avant ou après la ligne 'app=...', que je
remplaceQMacStyle par Aqua, QAquaStyle ... rien n'y fait.

In article <47daf56c$0$16282$ kib
wrote:
Salut,

Sans garantie, essaye ça:
après la ligne 'app=...' :

QtGui.QApplication.setStyle(QtGui.QStyleFactory.create("QMacStyle"))

Je l'ai repris sur un de mes anciens tutos, mais ça fait longtemps
que je n'ai pas remis la tête dans PyQt4.

@+.


--
I'm trying a new usenet client for Mac, Nemo OS X.
You can download it at http://www.malcom-mac.com/nemo

Avatar
kib
Merci pour ta réponse, mais malheureusement ça ne marche pas.
Que je le place avant ou après la ligne 'app=...', que je
remplaceQMacStyle par Aqua, QAquaStyle ... rien n'y fait.



Je viens d'essayer et chez moi ça fonctionne avec les styles que j'ai
disponibles sous le Designer.

Lance celui-ci, et essaye de voir le nom correspondant dans le menu
"Form/Preview In".

Avatar
duick
Après divers tests, je me suis aperçu que seul le QPushButton n'avait
pasle style OSX. Et pour que celui-ci l'ait, il faut changer la ligne:
quit.setGeometry(180,60,113,32)
en
quit.setGeometry(QtCore.QRect(180,60,113,32))

Mais maintenant, j'ai un autre petit problème. Si le QFileDialog
aparait bien dans le sytle OSX, c-a-d en "descendant de la barre de
titre", cen'est pas le cas d'autre QDialog ou QMessageBox.
D'après ce que j'ai pu comprendre en appliquant le paramètre
QtCore.Qt.Sheet via setWindowFlags cela devrait marcher, mais ce n'est
pasle cas.

Merci.

In article <47db13ef$0$15799$ kib
wrote:
Je viens d'essayer et chez moi ça fonctionne avec les styles que
j'ai disponibles sous le Designer.

Lance celui-ci, et essaye de voir le nom correspondant dans le menu
"Form/Preview In".


--
I'm trying a new usenet client for Mac, Nemo OS X.
You can download it at http://www.malcom-mac.com/nemo