PyQt:桌面程式設計的饕餮盛宴

專注的阿熊發表於2022-05-10

import sys

from PyQt6.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QHBoxLayout, QVBoxLayout

from PyQt6.QtGui import QIcon

from PyQt6.QtCore import Qt

class MyWindow(QWidget):

     """ QWidget 類派生的桌面應用程式視窗類 """

     def __init__(self):

         """ 建構函式 """

         super().__init__()

         self.setWindowTitle(' 分割槽佈局 ')

         self.setWindowIcon(QIcon('res/qt.png'))

         self.setGeometry(400, 300, 320, 160) # 設定窗位置和大小

         lab_acc = QLabel(' 賬號: ')

         account = QLineEdit()

         account.setAlignment(Qt.AlignmentFlag.AlignCenter)

         lab_pw = QLabel(' 密碼: ')

         passwd = QLineEdit()

         passwd.setAlignment(Qt.AlignmentFlag.AlignCenter)

         passwd.setEchoMode(QLineEdit.EchoMode.Password) # 不顯示密碼

         btn_ok = QPushButton(' 確定 ')

         btn_cancel = QPushButton(' 取消 ')

         # 使用水平佈局管理器佈局 lab_acc 控制元件和 account 控制元件,左右留白 10 畫素

         hbox_acc = QHBoxLayout()

         hbox_acc.addSpacing(10)

         hbox_acc.addWidget(lab_acc)

         hbox_acc.addWidget(account)

         hbox_acc.addSpacing(10)

         # 使用水平佈局管理器佈局 lab_pw 控制元件和 passwd 控制元件,左右留白 10 畫素

         hbox_pw = QHBoxLayout()

         hbox_pw.addSpacing(10)

         hbox_pw.addWidget(lab_pw)

         hbox_pw.addWidget(passwd)

         hbox_pw.addSpacing(10)

         # 使用水平佈局管理器佈局 btn_ok 控制元件和 btn_cancel 控制元件

         hbox_btn = QHBoxLayout() # 水平佈局管理器

         hbox_btn.addStretch(5) # 外匯跟單gendan5.com 設定左側拉伸因子

         hbox_btn.addWidget(btn_ok) # 新增 btn_ok 控制元件

         hbox_btn.addWidget(btn_cancel) # 新增 btn_cancel 控制元件

         hbox_btn.addStretch(1) # 設定右側拉伸因子

         # 使用垂直佈局管理器佈局上面 3 個水平佈局管理器

         vbox = QVBoxLayout()

         vbox.addSpacing(10)

         vbox.addLayout(hbox_acc)

         vbox.addSpacing(5)

         vbox.addLayout(hbox_pw)

         vbox.addStretch(1)

         vbox.addLayout(hbox_btn)

         vbox.addSpacing(10)

         # 將垂直佈局管理器應用到視窗

         self.setLayout(vbox)

         self.show() # 顯示視窗

if __name__ == '__main__':

     app = QApplication(sys.argv)

     win = MyWindow()

     sys.exit(app.exec())


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2893340/,如需轉載,請註明出處,否則將追究法律責任。

相關文章