最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python GUI庫圖形界面開發(fā)之PyQt5窗口布局控件QStackedWidget詳細(xì)使用方法

 更新時(shí)間:2020年02月27日 14:29:58   作者:jia666666  
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5窗口布局控件QStackedWidget詳細(xì)使用方法,需要的朋友可以參考下

PyQt5窗口布局控件QStackedWidget介紹

QTackedWidget是一個(gè)堆棧窗口控件,可以填充一些小控件,但是同一時(shí)間只有一個(gè)小控件可以顯示,QStackedWidget使用QStackedLayout布局。QSTackedWidget控件與QTabWidget類似,可以有效的顯示窗口的控件

QStackedWidget的使用實(shí)例

import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *

class StackedExample(QWidget):
  def __init__(self):
    super(StackedExample, self).__init__()
    #設(shè)置窗口初始位置和大小
    self.setGeometry(300,50,10,10)
    self.setWindowTitle('StackedWidget 例子')

    #創(chuàng)建列表窗口,添加條目
    self.leftlist=QListWidget()
    self.leftlist.insertItem(0,'聯(lián)系方式')
    self.leftlist.insertItem(1,'個(gè)人信息')
    self.leftlist.insertItem(2,'教育程度')

    #創(chuàng)建三個(gè)小控件
    self.stack1=QWidget()
    self.stack2=QWidget()
    self.stack3=QWidget()

    self.stack1UI()
    self.stack2UI()
    self.stack3UI()

    #在QStackedWidget對象中填充了三個(gè)子控件
    self.stack=QStackedWidget(self)

    self.stack.addWidget(self.stack1)
    self.stack.addWidget(self.stack2)
    self.stack.addWidget(self.stack3)

    #水平布局,添加部件到布局中
    HBox=QHBoxLayout()
    HBox.addWidget(self.leftlist)
    HBox.addWidget(self.stack)

    self.setLayout(HBox)

    self.leftlist.currentRowChanged.connect(self.display)
  def stack1UI(self):
    layout=QFormLayout()
    layout.addRow('姓名',QLineEdit())
    layout.addRow('地址',QLineEdit())
    self.stack1.setLayout(layout)

  def stack2UI(self):
    # zhu表單布局,次水平布局
    layout = QFormLayout()
    sex = QHBoxLayout()

    # 水平布局添加單選按鈕
    sex.addWidget(QRadioButton('男'))
    sex.addWidget(QRadioButton('女'))

    # 表單布局添加控件
    layout.addRow(QLabel('性別'), sex)
    layout.addRow('生日', QLineEdit())

    self.stack2.setLayout(layout)

  def stack3UI(self):
    # 水平布局
    layout = QHBoxLayout()

    # 添加控件到布局中
    layout.addWidget(QLabel('科目'))
    layout.addWidget(QCheckBox('物理'))
    layout.addWidget(QCheckBox('高數(shù)'))

    self.stack3.setLayout(layout)
  def display(self,i):
    #設(shè)置當(dāng)前可見的選項(xiàng)卡的索引
    self.stack.setCurrentIndex(i)
if __name__ == '__main__':
  app=QApplication(sys.argv)
  demo=StackedExample()
  demo.show()
  sys.exit(app.exec_())

運(yùn)行效果如圖



代碼分析

在這個(gè)例子中,在QStackedWidget對象中填充了三個(gè)子控件

    self.stack1=QWidget()
    self.stack2=QWidget()
    self.stack3=QWidget()

    #在QStackedWidget對象中填充了三個(gè)子控件
    self.stack=QStackedWidget(self)

    self.stack.addWidget(self.stack1)
    self.stack.addWidget(self.stack2)
    self.stack.addWidget(self.stack3)

每個(gè)子控件都可以有自己的布局,包含特定的表單元素,QStackedWidget控件不能在頁面之間進(jìn)行切換,它與當(dāng)前選中的QListWidget控件中的選項(xiàng)進(jìn)行連接

    #創(chuàng)建列表窗口,添加條目
    self.leftlist=QListWidget()
    self.leftlist.insertItem(0,'聯(lián)系方式')
    self.leftlist.insertItem(1,'個(gè)人信息')
    self.leftlist.insertItem(2,'教育程度')
    self.leftlist.currentRowChanged.connect(self.display)

將QListWidget的currentRowChanged信號(hào)與display()槽函數(shù)相關(guān)聯(lián),從而改變堆疊控件的視圖

  def display(self,i):
    #設(shè)置當(dāng)前可見的選項(xiàng)卡的索引
    self.stack.setCurrentIndex(i)

實(shí)際開發(fā)中,做界面設(shè)計(jì),當(dāng)然一般是借助Qt designer,方便而高效。

在Qt designer,QStackedWidget是上圖這個(gè)東西,動(dòng)手試試吧。

本文詳細(xì)介紹了PyQt5窗口布局控件QStackedWidget使用方法,靈活使用QStackedWidget控件對你的項(xiàng)目會(huì)有很大的提升,更多關(guān)于PyQt5窗口布局控件QStackedWidget使用方法請查看下面的相關(guān)鏈接

相關(guān)文章

  • 學(xué)習(xí)Python,你還不知道m(xù)ain函數(shù)嗎

    學(xué)習(xí)Python,你還不知道m(xù)ain函數(shù)嗎

    Python?中的?main?函數(shù)充當(dāng)程序的執(zhí)行點(diǎn),在?Python?編程中定義?main?函數(shù)是啟動(dòng)程序執(zhí)行的必要條件。本文就來帶大家深入了解一下main函數(shù),感興趣的可以了解一下
    2022-09-09
  • 快速下載VScode并配置Python運(yùn)行環(huán)境(圖文教程)

    快速下載VScode并配置Python運(yùn)行環(huán)境(圖文教程)

    本文主要介紹了快速下載VScode并配置Python運(yùn)行環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • 詳解Python描述符的工作原理

    詳解Python描述符的工作原理

    在 Python 開發(fā)中,你可能聽說過「描述符」這個(gè)概念,由于我們很少直接使用它,所以大部分開發(fā)人員并不了解它的原理. 但作為熟練使用 Python,想要進(jìn)階的你,建議還是了解一下描述符的原理,這也便于你更深層次地理解 Python 的設(shè)計(jì)思想,需要的朋友可以參考下
    2021-06-06
  • 詳解js文件通過python訪問數(shù)據(jù)庫方法

    詳解js文件通過python訪問數(shù)據(jù)庫方法

    在本篇內(nèi)容里小編給大家分享了關(guān)于js文件通過python訪問數(shù)據(jù)庫方法和技巧,有需要的朋友們跟著學(xué)習(xí)參考下。
    2019-03-03
  • 基于python實(shí)現(xiàn)藍(lán)牙通信代碼實(shí)例

    基于python實(shí)現(xiàn)藍(lán)牙通信代碼實(shí)例

    這篇文章主要介紹了基于python實(shí)現(xiàn)藍(lán)牙通信代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Python?gRPC流式通信協(xié)議詳細(xì)講解

    Python?gRPC流式通信協(xié)議詳細(xì)講解

    這篇文章主要介紹了Python?gRPC流式通信協(xié)議,最近幾天在搞golang的grpc,跑通之后想用php作為客戶端調(diào)用一下grpc服務(wù),結(jié)果拉了,一個(gè)php的grpc服務(wù)安裝,搞了好幾天,總算搞定了
    2022-11-11
  • python執(zhí)行數(shù)據(jù)庫的查詢操作實(shí)例講解

    python執(zhí)行數(shù)據(jù)庫的查詢操作實(shí)例講解

    在本篇文章里小編給大家整理了一篇關(guān)于python執(zhí)行數(shù)據(jù)庫的查詢操作實(shí)例講解內(nèi)容,有需要的朋友們可以參考學(xué)習(xí)下。
    2021-10-10
  • 詳解Python中鍵盤鼠標(biāo)的相關(guān)操作

    詳解Python中鍵盤鼠標(biāo)的相關(guān)操作

    pyautogui模塊,規(guī)范一點(diǎn)大寫就是PyAutoGUI模塊,是用來實(shí)現(xiàn)自動(dòng)化腳本的一個(gè)十分得力的小助手。他可以操控鍵盤和鼠標(biāo),可以寫許多工具。本文就來講講如何利用這個(gè)模塊實(shí)現(xiàn)鍵盤鼠標(biāo)的相關(guān)操作,需要的可以參考一下
    2023-01-01
  • Python中判斷子串存在的性能比較及分析總結(jié)

    Python中判斷子串存在的性能比較及分析總結(jié)

    這篇文章主要給大家總結(jié)介紹了Python中判斷子串存在的性能比較及分析的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 基于python歷史天氣采集的分析

    基于python歷史天氣采集的分析

    今天小編就為大家分享一篇基于python歷史天氣采集的分析,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02

最新評(píng)論

双城市| 老河口市| 同江市| 古田县| 丰原市| 贺兰县| 搜索| 阳原县| 辽源市| 安远县| 安仁县| 平江县| 临朐县| 张家口市| 美姑县| 荔浦县| 方正县| 兴义市| 汉川市| 鄂伦春自治旗| 玉龙| 文昌市| 黄浦区| 自治县| 长乐市| 雷波县| 玛沁县| 通州市| 上栗县| 筠连县| 麻阳| 固镇县| 双峰县| 商都县| 衡阳县| 永昌县| 安国市| 吕梁市| 焦作市| 耒阳市| 吉水县|