PyQt4 et style OSX

Le
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_())
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
kib
Le #1581206
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.

@+.

duick
Le #1581205
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 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

kib
Le #1589258
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".

duick
Le #1599594
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 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

Publicité
Poster une réponse
Anonyme