RPAでpyqtインタフェースを用いたpythonメソッド記録

3353 ワード

最近、いくつかのプロジェクトのインタフェースにpyqtライブラリが使用されています.例えば、ショッピングモールの抽選ロボット、初心者ガイドロボットなど、ここでPyqtの強さと優美さを褒めざるを得ません.このプロジェクトの前に、私もqtを使ったことがありません.プロジェクトの開発過程で多くの知識を学び、多くの問題に直面しました.私が直面した問題と私の解決方法を記録します.最初のインタフェースのデザインは、私もチュートリアルに基づいてQtDesignerとPyUICを使ってインタフェースコードを生成しました.これはいい選択だと思いますが、私は本当に手が残っていません.そこで、自分でコードを書くことにしました.もっと処理しやすいと思います.
一、私が使った部品
その他の関数:
  • QLineEdit:setPlaceholderText(「デフォルトのプロンプトを設定」)
  • setMaxLength()最大入力可能長
  • QLabel:setAlignment(Qt.AlignCenter)labelのテキストを
  • に中央に配置します.
  • QComboBox:addItem('a')またはaddItems(list)追加オプションを使用して、リストを追加できます.

  • 二、ボタンクリックイベント
    ボタンにクリックイベントを追加し、ボタンがクリックされたときに対応する関数を実行し、関数に括弧を付けない.
    pushButton.clicked.connect(self.function)

    三、複数のインタフェース間のジャンプ
    この機能を実現するのは難しくないと思っていたが、自分の考えは少し簡単だった.最後にこの問題を解決したように見える簡単な方法を使った.jump.pyファイルを作成してメインファイルとし、ボタンを作成してイベントをクリックして異なるウィンドウの表示を実現した.show()と隠し.hide()である. 如: 
    from windowA import *
    from windowB import *
    from windowC import *
    
    app = QApplication(sys.argv)
    wa = windowA()
    wb = windowB()
    wc = windowC()
    wa.mainWnd.show()
    
    def eventA():
       wb.mainWnd.show()
       wa.mainWnd.hide()
    def eventB():
       wc.mainWnd.show()
       wb.mainWnd.hide()
    
    wa.pushButton.clicked.connect(eventA)
    wb.pushButton.clicked.connect(eventB)
    
    if __name__ == "__main__":
       app.aboutToQuit.connect(app.deleteLater)
       app.exit(app.exec_())

    四、美化
    美化どころか、インタフェースのレイアウトなどを少し変えただけです.
    4.1レイアウト
  • setSpacing(10):各部品間の距離;
  • setContentMargin(10,10,10,10):部品とフォームのマージンを表し、それぞれ左上右下のマージン
  • である.
  • self.setGeometry(100300500400):画面上のウィンドウの位置を設定し、ウィンドウのサイズを設定します.
  • addWidget(label,0,Qt.AlignTop|Qt.AlignCenter):パラメータは(QWidget,stretch,alignment)で、部品を追加するときに伸縮量と位置合わせ方法を設定し、|組み合わせを使用します.
  • 整列方式は、Qt.AlignLeft、Qt.AlignRight、Qt.AlignHCenter水平方向中央、Qt.AlignVcenter、Qt.AlignJustify水平方向調整ピッチ両端整列、Qt.AlignTop、Qt.AlignButton、Qt.AlignCenter
  • である.
    addStretch():1つの部品を上(または左)に揃えると、次の部品を下(または右)に揃えることができなくなります.この間にStretchを追加する必要があります.
    4.2部品
  • setFixedSize(50,50):固定サイズを設定します.
  • setMaximumHeight(80):最大高さを設定し、最小幅と幅を設定します.
  • setFont(QFont(“Microsoft YaHei”,25,75)) :
  • setStyleSheet():backgroundバックグラウンドカラー(英語コード、RGBカラー値、16進数カラーコードで表すことができる)、background-imageバックグラウンドピクチャ、colorフォントカラー、fontフォントサイズ、border境界幅カラー、border-radius境界フィレット角度などのプロパティ
  • を設定できます.
     如: 
    self.button.setStyleSheet('color:rgb(52,196,243,200);border-radius:25px;border:4px solid rgb(52,196,243);background:#D2E9FF;')  # RGB        ,0~255
    self.label.setStyleSheet('color:CornflowerBlue;background-image:url(1.jpg);border-bottom-left-radius:20px')  
    #              

    五、その他
  • QAPplication.setStyle(‘Fusion’):Applicationインタフェーススタイルの設定;
  • self.setWindowFlag(QtCore.Qt.FramelessWindowHint)#非表示枠
  • self.setAttribute(QtCore.Qt.WA_TranslucentBackground)#ウィンドウバックグラウンドの透明性を設定
  • インタフェースのスタイルが気に入らないので、枠線を隠し、背景を透明に設定し、タイトルバーをカスタマイズします.
  • 関連透明度:設定色透明度:rgb(255,255,255,200)最後は色透明度、0~255設定インタフェース透明度:self.setWindowOpacity(0.91)
  • HTMLタグを使用して文字を美化することで、同じlabelの異なる番号、色などを実現することができる.

  • 次のようになります.
    label.setText('WubbaLubba
    '+ "DubDub")

    無料ダウンロード:https://support.i-search.com.cn/