2010-10-05 3 views
2

J'utilise le code suivant pour créer un bouton. Cela fonctionne bien. mais j'ai le rectangle jaune dans le coin gauche. Pourquoi? Aidez-moi, s'il vous plaît. Merci à l'avance,QPushButton Problèmes

backButton = new QPushButton(tr("Back")); 
     connect(backButton, SIGNAL(clicked()), this, SLOT(showSearchResultPage())); 
     backButton->setStyleSheet(
      "background-image: url(/Users/aspire/IPhone Development/background_wood_Default.png);" 
      "border-style: outset;" 
      "border-width: 2px;" 
      "border-radius: 10px;" 
      "border-color: beige;" 
      "font: bold 16px;" 
      "color:black;" 
      "min-width: 10em;" 
      "min-height: 0.75em;" 
      " margin: 0 1px 0 1px;" 
      "color:rgb(255,246,143);" 
      "padding: 6px;" 
     ); 



QGridLayout *layout = new QGridLayout(); 
    layout->addWidget(backButton, 1, 0, 1, 1); 
    layout->addWidget(detailView, 2, 0, 1, 1); 

alt text

+0

mettre l'instantané du bouton – Naruto

+0

Juste pour vérifier: Vous êtes sûr que le rectangle n'est pas dans votre image de fond? –

+0

À fort grossissement, les lignes jaunes traversent la bordure inférieure, donc je ne pense pas que ce soit dans l'image de fond. Comme le suggère jkerian, le problème est ailleurs :) Je suppose qu'un autre widget est parenté au bouton ou peut-être que le parent du bouton a une feuille de style (sans sélecteurs) héritée par le bouton. –

Répondre

3

Je suis assez sûr que le problème est pas dans le code affiché (à moins que, comme cjhuitt mentionne, il est à l'image d'arrière-plan). J'accroché un arrière-plan simple .png hors de google et ai essayé le python suivant:

from PyQt4 import QtCore, QtGui 
import sys 

app = QtGui.QApplication(sys.argv) 

widget = QtGui.QWidget() 

button = QtGui.QPushButton("Back") 

button.setStyleSheet(
     "background-image: url(wood.png);" 
     "border-style: outset;" 
     "border-width: 2px;" 
     "border-radius: 10px;" 
     "border-color: beige;" 
     "font: bold 16px;" 
     "color: black;" 
     "min-width: 10em;" 
     "min-height: 0.75em;" 
     "margin: 0 1px 0 1px;" 
     "color:rgb(255,245,143);" 
     "padding: 6px;" 
     ) 

grid = QtGui.QGridLayout(widget) 
grid.addWidget(button,1,0,1,1) 

widget.show() 

sys.exit(app.exec_()) 

Il produit le bouton sans la boîte jaune peu bizarre vous montrer là-bas.

+0

Merci.Si j'ai utilisé la feuille de style pour le bouton alors seulement j'ai obtenu le rectangle. Si j'utilise le style du bouton std, je ne vois pas le problème. S'il vous plaît aidez-moi .. J'ai utilisé le code suivant. secondclsss :: secondclsss (parent QWidget *): QWidget (parent) { QPushButton * first = new QPushButton ("first"); first-> setStyleSheet ( "couleur de fond: noir;" ); QGridLayout * d = nouveau QGridLayout(); d-> addWidget (premier, 0,0,1,1); setLayout (d); Connect (d'abord, SIGNAL (cliqué sur)), ceci, SLOT (premier())); } void secondclsss :: premier() { this-> hide(); } – Finder

+0

Python ?? C'est de la triche! ;) – mlvljr

Questions connexes