<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # PyQt5 小部件 II > 原文: [http://zetcode.com/gui/pyqt5/widgets2/](http://zetcode.com/gui/pyqt5/widgets2/) 在這里,我們將繼續介紹 PyQt5 小部件。 我們將介紹`QPixmap`,`QLineEdit`,`QSplitter`和`QComboBox`。 ## `QPixmap` `QPixmap`是用于處理圖像的小部件之一。 它經過優化,可在屏幕上顯示圖像。 在我們的代碼示例中,我們將使用`QPixmap`在窗口上顯示圖像。 `pixmap.py` ```py #!/usr/bin/python3 # -*- coding: utf-8 -*- """ ZetCode PyQt5 tutorial In this example, we dispay an image on the window. Author: Jan Bodnar Website: zetcode.com Last edited: August 2017 """ from PyQt5.QtWidgets import (QWidget, QHBoxLayout, QLabel, QApplication) from PyQt5.QtGui import QPixmap import sys class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): hbox = QHBoxLayout(self) pixmap = QPixmap("redrock.png") lbl = QLabel(self) lbl.setPixmap(pixmap) hbox.addWidget(lbl) self.setLayout(hbox) self.move(300, 200) self.setWindowTitle('Red Rock') self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) ``` 在我們的示例中,我們在窗口上顯示圖像。 ```py pixmap = QPixmap("redrock.png") ``` 我們創建一個`QPixmap`對象。 它以文件名作為參數。 ```py lbl = QLabel(self) lbl.setPixmap(pixmap) ``` 我們將像素圖放入`QLabel`小部件。 ## `QLineEdit` `QLineEdit`是一個小部件,允許輸入和編輯單行純文本。 該小部件具有撤消和重做,剪切和粘貼以及拖放功能。 `lineedit.py` ```py #!/usr/bin/python3 # -*- coding: utf-8 -*- """ ZetCode PyQt5 tutorial This example shows text which is entered in a QLineEdit in a QLabel widget. Author: Jan Bodnar Website: zetcode.com Last edited: August 2017 """ import sys from PyQt5.QtWidgets import (QWidget, QLabel, QLineEdit, QApplication) class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.lbl = QLabel(self) qle = QLineEdit(self) qle.move(60, 100) self.lbl.move(60, 40) qle.textChanged[str].connect(self.onChanged) self.setGeometry(300, 300, 280, 170) self.setWindowTitle('QLineEdit') self.show() def onChanged(self, text): self.lbl.setText(text) self.lbl.adjustSize() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) ``` 此示例顯示了行編輯小部件和標簽。 我們在行編輯中鍵入的文本會立即顯示在標簽窗口小部件中。 ```py qle = QLineEdit(self) ``` `QLineEdit`小部件已創建。 ```py qle.textChanged[str].connect(self.onChanged) ``` 如果行編輯窗口小部件中的文本更改,我們將調用`onChanged()`方法。 ```py def onChanged(self, text): self.lbl.setText(text) self.lbl.adjustSize() ``` 在`onChanged()`方法內部,我們將鍵入的文本設置為標簽小部件。 我們調用`adjustSize()`方法將標簽的大小調整為文本的長度。 ![QLineEdit](https://img.kancloud.cn/f7/1c/f71c21d278d42c40dbddff51d94ac386_282x196.jpg) 圖:`QLineEdit` ## `QSplitter` `QSplitter`允許用戶通過拖動子控件之間的邊界來控制子控件的大小。 在我們的示例中,我們顯示了由兩個拆分器組成的三個`QFrame`小部件。 `splitter.py` ```py #!/usr/bin/python3 # -*- coding: utf-8 -*- """ ZetCode PyQt5 tutorial This example shows how to use QSplitter widget. Author: Jan Bodnar Website: zetcode.com Last edited: August 2017 """ from PyQt5.QtWidgets import (QWidget, QHBoxLayout, QFrame, QSplitter, QStyleFactory, QApplication) from PyQt5.QtCore import Qt import sys class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): hbox = QHBoxLayout(self) topleft = QFrame(self) topleft.setFrameShape(QFrame.StyledPanel) topright = QFrame(self) topright.setFrameShape(QFrame.StyledPanel) bottom = QFrame(self) bottom.setFrameShape(QFrame.StyledPanel) splitter1 = QSplitter(Qt.Horizontal) splitter1.addWidget(topleft) splitter1.addWidget(topright) splitter2 = QSplitter(Qt.Vertical) splitter2.addWidget(splitter1) splitter2.addWidget(bottom) hbox.addWidget(splitter2) self.setLayout(hbox) self.setGeometry(300, 300, 300, 200) self.setWindowTitle('QSplitter') self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) ``` 在我們的示例中,我們有三個框架小部件和兩個拆分器。 請注意,在某些主題下,拆分器可能無法很好地顯示。 ```py topleft = QFrame(self) topleft.setFrameShape(QFrame.StyledPanel) ``` 我們使用樣式化的框架以查看`QFrame`小部件之間的邊界。 ```py splitter1 = QSplitter(Qt.Horizontal) splitter1.addWidget(topleft) splitter1.addWidget(topright) ``` 我們創建一個`QSplitter`小部件,并在其中添加兩個框架。 ```py splitter2 = QSplitter(Qt.Vertical) splitter2.addWidget(splitter1) ``` 我們還可以將拆分器添加到另一個拆分器小部件。 ![QSplitter widget](https://img.kancloud.cn/fd/d0/fdd0d1d1e17fc430f93e2b898e955e2e_302x226.jpg) 圖:`QSplitter`小部件 ## `QComboBox` `QComboBox`是一個小部件,允許用戶從選項列表中進行選擇。 `combobox.py` ```py #!/usr/bin/python3 # -*- coding: utf-8 -*- """ ZetCode PyQt5 tutorial This example shows how to use a QComboBox widget. Author: Jan Bodnar Website: zetcode.com Last edited: August 2017 """ from PyQt5.QtWidgets import (QWidget, QLabel, QComboBox, QApplication) import sys class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.lbl = QLabel("Ubuntu", self) combo = QComboBox(self) combo.addItem("Ubuntu") combo.addItem("Mandriva") combo.addItem("Fedora") combo.addItem("Arch") combo.addItem("Gentoo") combo.move(50, 50) self.lbl.move(50, 150) combo.activated[str].connect(self.onActivated) self.setGeometry(300, 300, 300, 200) self.setWindowTitle('QComboBox') self.show() def onActivated(self, text): self.lbl.setText(text) self.lbl.adjustSize() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) ``` 該示例顯示了`QComboBox`和`QLabel`。 組合框具有五個選項的列表。 這些是 Linux 發行版的名稱。 標簽窗口小部件顯示從組合框中選擇的選項。 ```py combo = QComboBox(self) combo.addItem("Ubuntu") combo.addItem("Mandriva") combo.addItem("Fedora") combo.addItem("Arch") combo.addItem("Gentoo") ``` 我們創建具有五個選項的`QComboBox`小部件。 ```py combo.activated[str].connect(self.onActivated) ``` 選擇項目后,我們調用`onActivated()`方法。 ```py def onActivated(self, text): self.lbl.setText(text) self.lbl.adjustSize() ``` 在方法內部,我們將所選項目的文本設置為標簽小部件。 我們調整標簽的大小。 ![QComboBox](https://img.kancloud.cn/a5/17/a517cf19c9ef1adafc0c9dc3476a03e8_302x226.jpg) 圖:`QComboBox` 在 PyQt5 教程的這一部分中,我們介紹了`QPixmap`,`QLineEdit`,`QSplitter`和`QComboBox`。
                  <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>

                              哎呀哎呀视频在线观看