<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] # 簡介 **布局** * 一個pyqt窗口中可以有多個控件 * 所謂布局,指的就是多個控件在窗口中的展示方式 * 布局方式大致分為: 絕對布局,水平布局,豎直布局,網格布局,表單布局 **布局方法** * 布局中可以添加控件,使用addWidget()方法 * 布局中也可以再添加布局,使用addLayout()方法 **絕對布局** 絕對布局是通過在窗口程序中指定每一個控件的顯示**坐標和大小**來實現 優點: 可以直接定位每個控件的位置 缺點 如果改變一個窗口的大小,控件的大小和位置不會隨之改變 如果修改布局,比如新增一個控件,必須全部重新布局,很繁瑣 **框布局** QBoxLayout * 水平布局(QHBoxLayout)和豎直布局(QVBoxLayout)都稱為框布局 **水平布局** QHBoxLayout * 水平布局中,是按照**從左往右**的順序添加控件 addWidget指定控件對齊方式 ![](https://box.kancloud.cn/1e9a925591b7c853997da7cb5fb077ff_691x307.png) **豎直布局** QVBoxLayout * 豎直布局采用QVBoxLayout,是采用**從上往下**的方式添加控件 **設置伸縮量** addStretch * 布局時要用到addStretch函數,設置stretch伸縮量后,按比例分配剩余控件 **網格布局** QGridLayout * QGridLayout(網格布局)是將窗口分割成行和列的網格來進行排序 * 使用addWidget添加控件 addWidget | 方法 | 說明 | | --- | --- | | addWidget(QWidget widget, int row, int col, int alignment=0) | 給網格添加控件,設置指定的行和列 | **表單布局** QFormLayout * 表單布局是label-field式的表單布局,顧名思義就是實現表單方式的布局 * 表單布局添加控件的方法為addRow(label, widget) # 絕對布局 ~~~ from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * import sys # 創建個應用程序 需要加上參數 app = QApplication(sys.argv) # 創建窗口 widget = QWidget() # 修改窗口大小 widget.resize(300, 400) # 設置窗口的標題 widget.setWindowTitle('絕對布局') # btn1 btn1 = QPushButton() btn1.setText('按鈕1') # btn1顯示 btn1.setParent(widget) btn1.move(100, 100) # btn2 btn2 = QPushButton() btn2.setText('按鈕2') # btn2顯示 btn2.setParent(widget) btn2.move(150, 150) # btn3 btn3 = QPushButton() btn3.setText('按鈕3') # btn3顯示 btn3.setParent(widget) btn3.move(200, 200) # 顯示窗口 widget.show() # 系統安全退出 sys.exit(app.exec()) ~~~ # 水平布局 先要創建個布局控件layout,然后把按鈕添加到布局中,然后把布局控件放到窗口中 ![](https://box.kancloud.cn/71ef855a463491a54ade05bfccea9e02_600x844.png) ~~~ from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * import sys # 創建個應用程序 需要加上參數 app = QApplication(sys.argv) # 創建窗口 widget = QWidget() # 修改窗口大小 widget.resize(300, 400) # 設置窗口的標題 widget.setWindowTitle('水平布局') # 創建布局控件 layout = QHBoxLayout() for ele in range(1, 6): # 創建按鈕 btn = QPushButton() btn.setText(str(ele)) # 把按鈕添加到布局中 # layout.addWidget(btn) # 第二個在中間顯示 if ele == 2: layout.addWidget(btn, 0, Qt.AlignBottom) else: layout.addWidget(btn) # 把布局控件放到窗口中 widget.setLayout(layout) # 顯示窗口 widget.show() # 系統安全退出 sys.exit(app.exec()) ~~~ # 豎直布局 ![](https://box.kancloud.cn/7f3fb707764ef0cc99c5848087077fac_600x844.png) ~~~ from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * import sys # 創建個應用程序 需要加上參數 app = QApplication(sys.argv) # 創建窗口 widget = QWidget() # 修改窗口大小 widget.resize(300, 400) # 設置窗口的標題 widget.setWindowTitle('豎直布局') # 創建布局控件 layout = QVBoxLayout() for ele in range(1, 6): # 創建按鈕 btn = QPushButton() btn.setText(str(ele)) # 設置伸縮值 if ele == 2: layout.addStretch(1) else: layout.addStretch(2) # 把按鈕添加到布局中 layout.addWidget(btn) # 把布局控件放到窗口中 widget.setLayout(layout) # 顯示窗口 widget.show() # 系統安全退出 sys.exit(app.exec()) ~~~ # 表單布局 ![](https://box.kancloud.cn/0bb35e8cb91f1b456138dbd52d05a08c_600x844.png) ~~~ from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * import sys # 創建個應用程序 需要加上參數 app = QApplication(sys.argv) # 創建窗口 widget = QWidget() # 修改窗口大小 widget.resize(300, 400) # 設置窗口的標題 widget.setWindowTitle('表單布局') # 創建布局控件 layout = QFormLayout() # 添加控件 layout.addRow(QLabel('姓名'), QLineEdit()) layout.addRow(QLabel('年級'), QLineEdit()) layout.addRow(QLabel('電話'), QLineEdit()) # 把布局控件放到窗口中 widget.setLayout(layout) # 顯示窗口 widget.show() # 系統安全退出 sys.exit(app.exec()) ~~~ # 布局嵌套 ![](https://box.kancloud.cn/25a0a55b9d9f7151769513a531af9551_764x444.png) ~~~ from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * import sys # 創建個應用程序 需要加上參數 app = QApplication(sys.argv) # 創建窗口 widget = QWidget() # 修改窗口大小 widget.resize(300, 200) # 設置窗口的標題 widget.setWindowTitle('布局嵌套') # 創建布局控件 layout = QHBoxLayout() # 第一部分 layout1 = QHBoxLayout() layout1.addWidget(QPushButton('1')) layout1.addWidget(QPushButton('2')) # 第一部分添加到外層布局中 layout.addLayout(layout1) # 第二部分 layout2 = QVBoxLayout() layout2.addWidget(QPushButton('3')) layout2.addWidget(QPushButton('4')) layout.addLayout(layout2) # 第三部分 layout3 = QFormLayout() layout3.addRow(QPushButton('5'), QPushButton('6')) layout3.addRow(QPushButton('7'), QPushButton('8')) layout.addLayout(layout3) # 第四部分 layout4 = QVBoxLayout() layout4.addWidget(QPushButton('9')) layout4.addWidget(QPushButton('10')) layout4.addWidget(QPushButton('11')) layout4.addWidget(QPushButton('12')) layout.addLayout(layout4) # 把布局控件放到窗口中 widget.setLayout(layout) # 顯示窗口 widget.show() # 系統安全退出 sys.exit(app.exec()) ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看