2016-04-19 12 views
0

QIconを使ってみましたが、他に選択肢がなかったので、私はPixmapボタンを作るのに苦労しています。PyQt4:アイコンをQPushButtonより大きくするには? (Pixmap Buttons)

私がボタンとして望んでいた画像は完全に正方形ではありませんでしたが、私はpixmapだけを表示したかったのですが、まだボタン機能(信号はスロットに接続しています)を持っていました。

アイコンサイズをボタンと同じにしようとすると、アイコンが上がってしまい、まったく収まりません。ボタンがアイコンの外に表示されます。


そこで質問です:

にはどうすればいいのQPushButtonよりもアイコンが大きくなることができますか?アイコンのみが表示され、アイコン機能は残っています。

これがアイコンの枠を超えている場合、Pixmapボタンを作成する方法は他にありますか?

+0

QToolButtonを試してみてください。 – fghj

+0

私は以前これを使ったことがありません。 'btn = QtGui.QToolButton(" "、self)QToolButton.setPixmap(QtGui.QPixmap(":/ something "))'? – ShellRox

+0

私はQToolButtonもアイコンを使用すると思う@ user1034749 – ShellRox

答えて

2

あなたは、単にこのようなbackground-imageプロパティでも、私はPySideを使っ0

btn.setStyleSheet("background-image: url('image.jpg'); border: none;") 
+0

それは私に無効な構文エラーを与えた、私は引用符の中に引用符があるので私は思う。 – ShellRox

+0

ボタンはまだ画像より大きく、最小化すれば画像も大きくなります。 – ShellRox

+0

申し訳ありません、私は初心者とpyqtだと私は正確にどのように余白とボタンのパディングを設定するか分からない。 'btn.resize(100、100)'と 'btn.move(520,300)'のボタンのオプションだけです。レイアウト(サイザー)も使用しません。 @danidee – ShellRox

2

に境界線を設定することを達成するためにCSSを使用することができます。多分コードが似ている

btn = QPushButton('') 
btn.setIcon(QPixmap(image path)) 
# adjust width and height to fit the size of button. 
btn.setIconSize(QSize(width, height)) 
# set zero border. 
btn.setStyleSheet('QPushButton{border: 0px solid;}') 
+0

これは私のためにすばらしく働いた – answerSeeker

関連する問題