2016-04-17 8 views
0

特定のアクションでボタンアイコンを変更しようとしています。 (クリック、無効など)PyQt4:アクション時のボタンアイコンの変更

だから私はボタンがある場合の例では、ボタンの押しを取ることができますよう:

btn = QtGui.QPushButton(" ", self) 
btn.resize(100, 100) 
btn.move(0, 0) 
btn.setIcon(QtGui.QIcon("")) 
btn.setIconSize(QtCore.QSize(100, 100)) 

クリックしたときにどのように私は、そのアイコンを変更することができますか?私はクリックされた信号を作る必要がありますか?

btn.clicked.connect(self.some_function_that_shows_new_icon)

もしそうなら、どのように私は無効信号または任意の他のボタンの状態を利用できるようにすることができますか?

例:

btn.disabled.connect(self.some_function_that_shows_new_icon)

(信号ボタンが無効になっているか、いない場合は、上記のいずれかが動作しない検出します)

+1

btn.clicked.connect(self.some_function_that_shows_new_icon) それは本当です。そして、第二に、あなたは基本的に書き直すことができます。また、そのようなdisabled.connectのものはありません – Taylan

+0

とは何かのようなsimillarですか?私はqtデザイナーを一度使用し、アイコン上のそれらの条件を見た。 – ShellRox

答えて

1

QIconsは異なるモード状態の複数のイメージを持つことができます。同じQIconに複数のQPixmapを追加し、そのイメージのモードと状態を指定します。

icon = QIcon() 
icon.addPixmap(QPixmap('normal.png')) 
icon.addPixmap(QPixmap('disabled.png'), QIcon.Disabled) 
icon.addPixmap(QPixmap('clicking.png'), QIcon.Active) 
icon.addPixmap(QPixmap('on.png'), QIcon.Normal, QIcon.On) 
btn.setIcon(icon) 

ボタンをクリックするかどうかによって、ボタンの状態が変更されているかどうか(オン/オフの切り替えなど)によって異なります。ボタンを使用して他のものの状態を切り替える場合、これは機能しません。

関連する問題