濮阳杆衣贸易有限公司

主頁 > 知識庫 > PyQT5實(shí)現(xiàn)選項(xiàng)卡窗口、堆棧窗口、停靠窗口、子窗口

PyQT5實(shí)現(xiàn)選項(xiàng)卡窗口、堆棧窗口、??看翱?、子窗口

熱門標(biāo)簽:平頂山外呼系統(tǒng)免費(fèi) 西藏智能外呼系統(tǒng)五星服務(wù) 原裝電話機(jī)器人 工廠智能電話機(jī)器人 千陽自動外呼系統(tǒng) 江蘇客服外呼系統(tǒng)廠家 在哪里辦理400電話號碼 400電話申請服務(wù)商選什么 清遠(yuǎn)360地圖標(biāo)注方法

一、選項(xiàng)卡控件QTabWidget

import sys

# 使用調(diào)色板等
from PyQt5.QtGui import QIcon
# 導(dǎo)入QT,其中包含一些常量,例如顏色等
# 導(dǎo)入常用組件
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QTabWidget
from PyQt5.QtWidgets import QFormLayout, QLineEdit,QLabel

from PyQt5.QtGui import QMovie,QPixmap

class DemoWin(QMainWindow):
 def __init__(self):
  super(DemoWin, self).__init__()
  self.initUI()

 def initUI(self):
  # 將窗口設(shè)置為動圖大小
  self.setFixedSize(500, 300)
  self.tab1 = QWidget()
  self.tab2 = QWidget()
  self.tab3 = QWidget()

  self.tabwidget = QTabWidget(self)
  self.tabwidget.resize(500, 300)
  self.tabwidget.addTab(self.tab1, "選項(xiàng)卡1")
  self.tabwidget.addTab(self.tab2, "選項(xiàng)卡2")
  self.tabwidget.addTab(self.tab3, "選項(xiàng)卡3")

  # 分別加載三個Tab的內(nèi)容
  self.tab1UI()
  self.tab2UI()
  self.tab3UI()

  # 添加窗口標(biāo)題
  self.setWindowTitle("TabWidgetDemo")

 def tab1UI(self):
  layout = QFormLayout()
  layout.addRow('姓名', QLineEdit())
  layout.addRow('年齡', QLineEdit())
  layout.addRow('住址', QLineEdit())
  self.tab1.setLayout(layout)

 def tab2UI(self):
  label = QLabel("",self.tab2)
  movie = QMovie("./images/timg.gif")
  label.setMovie(movie)
  movie.start()

 def tab3UI(self):
  label = QLabel("",self.tab3)
  label.setPixmap(QPixmap("./images/ailusha.png"))

if __name__ == '__main__':
 app = QApplication(sys.argv)
 app.setWindowIcon(QIcon("images/icon.ico"))
 # 創(chuàng)建一個主窗口
 mainWin = DemoWin()
 # 顯示
 mainWin.show()
 # 主循環(huán)
 sys.exit(app.exec_())

實(shí)現(xiàn)效果:

二、堆棧窗口QStackedWidget

import sys

# 使用調(diào)色板等
from PyQt5.QtGui import QIcon
# 導(dǎo)入QT,其中包含一些常量,例如顏色等
# 導(dǎo)入常用組件
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QTabWidget, QListWidget
from PyQt5.QtWidgets import QFormLayout, QLineEdit, QLabel, QStackedWidget, QHBoxLayout

from PyQt5.QtGui import QMovie, QPixmap


class DemoWin(QWidget):
 def __init__(self):
  super(DemoWin, self).__init__()
  self.initUI()

 def initUI(self):
  # 將窗口設(shè)置為動圖大小
  self.setFixedSize(600, 300)

  self.list = QListWidget()
  self.list.setMaximumWidth(100)

  # 設(shè)置列表內(nèi)容(stack的索引)
  self.list.insertItem(0, '個人信息')
  self.list.insertItem(1, '動畫')
  self.list.insertItem(2, '圖片')

  # 創(chuàng)建三個stack頁面
  self.stack1 = QWidget()
  self.stack2 = QWidget()
  self.stack3 = QWidget()

  # 分別加載三個Stack的內(nèi)容
  self.stack1UI()
  self.stack2UI()
  self.stack3UI()

  # 將三個stack頁面加入stackWidget
  self.stackWidget = QStackedWidget()
  self.stackWidget.addWidget(self.stack1)
  self.stackWidget.addWidget(self.stack2)
  self.stackWidget.addWidget(self.stack3)

  hbox = QHBoxLayout()
  hbox.addWidget(self.list)
  hbox.addWidget(self.stackWidget)
  self.setLayout(hbox)

  # 為List綁定事件,當(dāng)條目改變時,切換stack(重要)
  self.list.currentRowChanged.connect(self.stackSwitch)

  # 添加窗口標(biāo)題
  self.setWindowTitle("StackWidgetDemo")

 def stack1UI(self):
  layout = QFormLayout()
  layout.addRow('姓名', QLineEdit())
  layout.addRow('年齡', QLineEdit())
  layout.addRow('住址', QLineEdit())
  self.stack1.setLayout(layout)

 def stack2UI(self):
  label = QLabel("", self.stack2)
  movie = QMovie("./images/timg.gif")
  label.setMovie(movie)
  movie.start()

 def stack3UI(self):
  label = QLabel("", self.stack3)
  label.setPixmap(QPixmap("./images/ailusha.png"))

 # 切換list時觸發(fā)槽函數(shù)切換Stack
 def stackSwitch(self, index):
  self.stackWidget.setCurrentIndex(index)


if __name__ == '__main__':
 app = QApplication(sys.argv)
 app.setWindowIcon(QIcon("images/icon.ico"))
 # 創(chuàng)建一個主窗口
 mainWin = DemoWin()
 # 顯示
 mainWin.show()
 # 主循環(huán)
 sys.exit(app.exec_())

實(shí)現(xiàn)效果:

三、??靠丶DockWidget

import sys

# 使用調(diào)色板等
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIcon
# 導(dǎo)入QT,其中包含一些常量,例如顏色等
# 導(dǎo)入常用組件
from PyQt5.QtWidgets import QApplication, QMainWindow, QListWidget
from PyQt5.QtWidgets import QLineEdit, QDockWidget


class DemoWin(QMainWindow):
 def __init__(self):
  super(DemoWin, self).__init__()
  self.initUI()

 def initUI(self):
  # 將窗口設(shè)置為動圖大小
  self.setFixedSize(600, 400)
  # 創(chuàng)建一個DockWidget
  self.items = QDockWidget()

  # 定義一些內(nèi)容(放到DockWidget中)
  self.listWidget = QListWidget()
  self.listWidget.setFixedSize(150, 300)
  self.listWidget.addItem('item1')
  self.listWidget.addItem('item2')
  self.listWidget.addItem('item3')
  self.items.setWidget(self.listWidget)
  # 將DockWidget加到主窗口中,默認(rèn)??吭谟疫?
  self.addDockWidget(Qt.RightDockWidgetArea, self.items)
  # 給主窗口添加一些控件
  self.setCentralWidget(QLineEdit())

  # 添加窗口標(biāo)題
  self.setWindowTitle("DockWidgetDemo")


if __name__ == '__main__':
 app = QApplication(sys.argv)
 app.setWindowIcon(QIcon("images/icon.ico"))
 # 創(chuàng)建一個主窗口
 mainWin = DemoWin()
 # 顯示
 mainWin.show()
 # 主循環(huán)
 sys.exit(app.exec_())

實(shí)現(xiàn)效果:

四、容納多文檔窗口(多子窗口)

import sys

# 使用調(diào)色板等
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIcon
# 導(dǎo)入QT,其中包含一些常量,例如顏色等
# 導(dǎo)入常用組件
from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit
from PyQt5.QtWidgets import QMdiArea, QMdiSubWindow


class DemoWin(QMainWindow):
 count = 0

 def __init__(self):
  super(DemoWin, self).__init__()
  self.initUI()

 def initUI(self):
  # 將窗口設(shè)置為動圖大小
  self.setFixedSize(800, 500)
  self.mdi = QMdiArea()
  bar = self.menuBar()
  file = bar.addMenu("SubWin")
  file.addAction("New")
  file.addAction("Cascade")
  file.addAction("Tiled")

  file.triggered.connect(self.windowAction)

  self.setCentralWidget(self.mdi)

  # 添加窗口標(biāo)題
  self.setWindowTitle("SubWindowDemo")

 def windowAction(self, q):
  # 當(dāng)點(diǎn)擊菜單欄中的New時,新建一個子窗口
  if q.text() == "New":
   # 為子窗口計(jì)數(shù)
   DemoWin.count = DemoWin.count + 1
   # 創(chuàng)建一個子窗口
   sub = QMdiSubWindow()
   # 為子窗口添加一個TextEdit控件
   sub.setWidget(QTextEdit())
   self.mdi.addSubWindow(sub)
   sub.show()
  elif q.text() == "Cascade": # 當(dāng)點(diǎn)擊菜單欄中的Cascade時,堆疊子窗口
   self.mdi.cascadeSubWindows()
  elif q.text() == "Tiled": # 當(dāng)點(diǎn)擊菜單欄中的Tiled時,平鋪?zhàn)哟翱?
   self.mdi.tileSubWindows()


if __name__ == '__main__':
 app = QApplication(sys.argv)
 app.setWindowIcon(QIcon("images/icon.ico"))
 # 創(chuàng)建一個主窗口
 mainWin = DemoWin()
 # 顯示
 mainWin.show()
 # 主循環(huán)
 sys.exit(app.exec_())

實(shí)現(xiàn)效果:

到此這篇關(guān)于PyQT5實(shí)現(xiàn)選項(xiàng)卡窗口、堆棧窗口、??看翱?、子窗口的文章就介紹到這了,更多相關(guān)PyQT5 窗口 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python 中PyQt5 點(diǎn)擊主窗口彈出另一個窗口的實(shí)現(xiàn)方法
  • PyQt5筆記之彈出窗口大全
  • PyQt5每天必學(xué)之關(guān)閉窗口
  • PyQt5實(shí)現(xiàn)從主窗口打開子窗口的方法
  • python3+PyQt5+Qt Designer實(shí)現(xiàn)堆疊窗口部件
  • 對PyQt5基本窗口控件 QMainWindow的使用詳解
  • pyqt5 實(shí)現(xiàn)多窗口跳轉(zhuǎn)的方法
  • PYQT5開啟多個線程和窗口,多線程與多窗口的交互實(shí)例
  • PyQt5 多窗口連接實(shí)例
  • PyQt5固定窗口大小的方法

標(biāo)簽:股票 天水 錦州 日照 安慶 西安 白城 隨州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PyQT5實(shí)現(xiàn)選項(xiàng)卡窗口、堆棧窗口、??看翱?、子窗口》,本文關(guān)鍵詞  PyQT5,實(shí)現(xiàn),選項(xiàng),卡,窗口,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PyQT5實(shí)現(xiàn)選項(xiàng)卡窗口、堆棧窗口、??看翱?、子窗口》相關(guān)的同類信息!
  • 本頁收集關(guān)于PyQT5實(shí)現(xiàn)選項(xiàng)卡窗口、堆棧窗口、停靠窗口、子窗口的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    堆龙德庆县| 大港区| 云梦县| 东城区| 萝北县| 遂川县| 肥乡县| 汉沽区| 兴宁市| 翼城县| 武鸣县| 大新县| 集安市| 青河县| 涡阳县| 库尔勒市| 北票市| 鸡东县| 墨脱县| 泾阳县| 静安区| 五指山市| 城口县| 达孜县| 焦作市| 旺苍县| 舞阳县| 鹤山市| 安化县| 祁门县| 海盐县| 临城县| 南江县| 安陆市| 神木县| 台北县| 浏阳市| 广平县| 阿拉善左旗| 陇南市| 佛教|