QAbstractbuttonのpyqt5学習

QAbstractbuttonボタンクラスは抽象基底クラスだけでなく、彼のサブカテゴリーが有する機能を実装するために使用することができています

簡単な例

PyQt5.Qt インポート *
 インポートSYS 

のApp = はQApplication(sys.argvの)
 = はQWidget()

window.setWindowTitle(' QAbstractButton ' 
window.resize( 500、500 

クラスBTN(QAbstractButton):
     DEF paintEvent(セルフ、EVT) :
         1どこか絵画、画家を作成 
        画家= QPainterの(自己)

        画家ペンに2を
        2.1ペン作成 
        ペン= QPen(QColor(111、200、20)、5 

        2.2は、画家、ペンに
        painter.setPen(ペン)

        3画家 
        painter.drawText(25、40 、self.text())

        painter.drawEllipse(0、0、 100、100 

BTN = BTN(ウィンドウ)

btn.setText(' XXX ' 
btn.resize( 100 、100 
btn.pressed.connect(ラムダ印刷" このボタンをクリックした" ))

window.show()
sys.exit(app.exec_())
コードの表示

例ショー:

  1. テキスト設定
  2. ピクチャーセッティング
  3. ショートカットキー
  4. オートリピート
  5. ボタンの状態
  6. 排他的
  7. 有効面積を設定します
PyQt5.Qt インポート *
 インポートSYS 

のApp = はQApplication(sys.argvの)
 = はQWidget()
window.setWindowTitle(' ボタンの機能テスト-抽象クラス' 
window.move( 200は、200である
window.resize( 500、500 window.setFixedSize(500、500)が固定されたサイズを設定#



************* ***************テキスト動作が始まるBTN = QPushButton(ウィンドウ)btn.setText(」1' )がヒント#テキスト提供されDEF PLUS_ONEday():
#1      ( '+ 1')を印刷する     NUM = INT(btn.text())+ 1。     Btn.setText(STR(NUM)) #
 btn.pressed.connect(PLUS_ONEday) *************テキスト操作************** *エンド



*************アイコンが***************動作を開始します
。#BTN =のQPushButton(ウィンドウ)アイコン= QIcon(「dp.png ')画像#追加#btn.setIconを(アイコン)ピクチャ#ボタン、マナーbtn.setIcon(QIcon(' dp.png「))##設定ボタン画像、第二の方法
#1 
#のサイズ= QSIZE(50、 50) #btn.setIconSize(サイズ)#は、画像サイズを設定し、方法btn.setIconSize(QSIZE(50、50))#は、画像サイズを設定し、第二の方法
#1 
#の印刷(btn.icon())#GETアイコン印刷(btn.iconSize())#GETアイコンサイズアイコンアクション*************** *************終了



*************セットのショートカット***************開始BTN =のQPushButton(ウィンドウ)btn.setText( 'ボタン') btn.pressed.connect(ラムダ:印刷( 'ボタンがクリックされました') )btn.setShortcut( '')ショートカットキー#設定する自動的にショートカットキーを設定している&#btn.setText( '&B')を************* *セットショートカット最後************** 



************* ***************開始し、自動的に繰り返し
#1 オートリピート手段は、ボタンを押し続けているホールド、常にスロットを実行する関数BTN =のQPushButton(ウィンドウ)btn.setText( 'ボタン') btn.setAutoRepeat(真)に設定自動反復#btn.setAutoRepeatDelay(2000) #はミリ秒単位で、自動再送検出間隔を設定するbtn.setAutoRepeatInterval(1000)#セット遅延時間検出、MS 印刷(btn.autoRepeat()) 印刷(btn.autoRepeatDelay()) 印刷(btn.autoRepeatInterval()) DEFのCaO():
#1      。印刷(1 )btn.clicked.connect(CaOと)************* ***************エンド自動再送



******* ****** ***************ボタンステータス開始のQPushButton =(ウィンドウ)PUSH_BUTTON ( 'のQPushButtonである')push_button.setText 
#1 push_button.move(100、100 )RADIO_BUTTON、QRadioButton =(ウィンドウ)) 'ラジオは' radio_button.setText( radio_button.move(100、150) #
 チェックボックス= QCheckBoxes(ウィンドウ)(]チェックボックスである')checkbox.setText checkbox.move(100、200である)push_button.setStyleSheet(「のQPushButton:カラープレス{背景:レッド;}「) #設定#S押す#push_button.setDown(真)#radio_button.setDown(真)#checkbox.setDown(偽)#(push_button.isDownを(印刷)) #を(radio_button.isDown())を印刷#プリント(checkbox.isDown()) 
#を##に設定ボタンが選択できる場合は(真の)#push_button.setCheckable #(push_button.isCheckable())を印刷push_button.setEnabled(偽)#ボタンが設定されていません************ *************ボタンの状態を***終了


************* ***************排他的な設定開始
#の同じ排他制御で#範囲(iのための0 ,. 3):      BTN = QCheckBoxes(ウィンドウ)     btn.setText( 'BTN' + STR(I))      btn.move(I * 50、50 * I) #
      btn.setAutoExclusive(真)

** *********** ***************エンド排他設定


************* ****ボタンは、クリックをシミュレートします***********起動BTN =のQPushButton(ウィンドウ)btn.setTextを( 'これはボタンである') btn.move(200、200) btn.pressed.connect(ラムダ:印刷() "は、このボタンをクリックした") btn.animateClick(2000)#セットクリックをシミュレートする*********** **ボタンアナログをクリックし***************終了



************* ************セットの有効面積***開始
#をhitButton(のQPoint)法、有効な戻りトゥーレを書き換えることにより、無効なリターン偽
#のセットは、円形の領域
#のクラスBTN(のQPushButton):      DEF hitButton(セルフ、ポイント):
#1          によって、#は、与えられました点座標、中心の距離を算出する
。#         yuanxin_x self.width =()/ 2          yuanxin_y self.height =()/ 2          hit_x point.x =()          hit_y point.y =() #
         #((X1 - X2)は、(Y1 +二乗- Y2)の二乗)四角         インポート数学         距離= Math.sqrt(Math.pow(hit_x - yuanxin_x、2)+ Math.pow(hit_y - yuanxin_y、2) )         距離<self.width()/ 2 IF:              リターン真
#1 
#1          #距離<半径Trueの場合
#の         リターン#偽
#の         リターン偽
#の     #セットペインター     DEF paintEvent(セルフ、EVT):          スーパー()。 paintEvent(EVT)          画家= QPainterの(自己)         (あるQPen(QColor(100、150、200),. 6))painter.setPen          painter.drawEllipse(self.rect()) #
 BTN BTN =(ウィンドウ)btn.move(100、100) btn.setText( "クリック") btn.resize(200、200)btn.clicked。 CONNECT(ラムダ値:印刷(「状態を選択するためのボタンが変更された」、値)) ************* **************有効エリアを設定*エンド

window.show()
sys.exit(app.exec_())
コードの表示

 

おすすめ

転載: www.cnblogs.com/mosewumo/p/12503382.html