欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PyQt5 QDockWidget控件應用詳解

 更新時間:2020年08月12日 09:58:29   作者:只想整天學習  
這篇文章主要介紹了PyQt5 QDockWidget控件應用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

QDockWidget是一個可以??吭赒MainWindow內(nèi)的窗口控件,它可以保持在浮動狀態(tài)或者在指定位置作為子窗口附加到主窗口中,QMainWindow類的主窗口對象保留有一個用于??看翱诘膮^(qū)域,這個區(qū)域在控件的中央周圍

QDoCKWidget類中的常用方法

方法 描述
setWidget() 在Dock窗口區(qū)域設置QWidget
setFloating() 設置Dock窗口是否可以浮動,如果設置為True,則表示可以浮動
setAlllowedAreas() 設置窗口可以??康膮^(qū)域
LeftDockWidgetArea:左側(cè)??繀^(qū)域
RightDockWidgetArea:右側(cè)??繀^(qū)域
TopDockWidgetArea:頂部??繀^(qū)域
BottomDockWidgetArea:底部??繀^(qū)域
NoDockWidgetArea:不顯示W(wǎng)idget
setFearures() 設置??看翱诘墓δ軐傩?/td>
DockWidgetClosable:可關閉
DockWidgetMovable:可移動
DockWidgetFloatable:可漂浮
DockWidgetVerticalTitleBar:在左邊顯示垂直的標簽欄
AllDockWidgetFeatures:具有前三種屬性的所有功能
NoDockWidgetFeatures:無法關閉,不能懸浮,不能移動

實例:QDockWidget的使用

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

class DockDemo(QMainWindow):
  def __init__(self,parent=None):
    super(DockDemo, self).__init__(parent)
    #設置水平布局
    layout=QHBoxLayout()
    #實例化菜單欄
    bar=self.menuBar()
    #創(chuàng)建主菜單file,在其中添加子菜單
    file=bar.addMenu('File')
    file.addAction('New')
    file.addAction('Save')
    file.addAction('quit')

    #創(chuàng)建QDockWidget窗口(標題,自身窗口)
    self.items=QDockWidget('Dockable',self)

    #實例化列表窗口,添加幾個條目
    self.listWidget=QListWidget()
    self.listWidget.addItem('Item1')
    self.listWidget.addItem('Item2')
    self.listWidget.addItem('Item3')
    self.listWidget.addItem('Item4')

    #在窗口區(qū)域設置QWidget,添加列表控件
    self.items.setWidget(self.listWidget)

    #設置dock窗口是否可以浮動,True,運行浮動在外面,自動與主界面脫離,F(xiàn)alse,默認浮動主窗口內(nèi),可以手動脫離
    self.items.setFloating(False)

    #設置QTextEdit為中央小控件
    self.setCentralWidget(QTextEdit())
    #將窗口放置在中央小控件的右側(cè)
    self.addDockWidget(Qt.RightDockWidgetArea,self.items)

    self.setLayout(layout)
    self.setWindowTitle('Dock 例子')
if __name__ == '__main__':
  app=QApplication(sys.argv)
  demo=DockDemo()
  demo.show()
  sys.exit(app.exec_())

不重寫QDockWidget類 

import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import QMainWindow, QTextEdit, QDockWidget, QPushButton, QApplication


class DockDemo(QMainWindow):
  def __init__(self):
    super().__init__()
    self.docker1=QDockWidget('Docker1', self)
    self.docker2=QDockWidget('Docker2', self)
    self.textEdit=QTextEdit()
    self.setCentralWidget(self.textEdit)
    self.btn1=QPushButton('btn1')
    self.btn2=QPushButton('btn2')
    self.btn1.clicked.connect(self.btn1fun)
    self.btn2.clicked.connect(self.btn2fun)
    self.docker1.setWidget(self.btn1)
    self.docker2.setWidget(self.btn2)
    self.addDockWidget(Qt.RightDockWidgetArea,self.docker1)
    self.addDockWidget(Qt.LeftDockWidgetArea, self.docker2)
    self.setWindowTitle('Dock 例子')
    self.resize(400, 300)
  def btn1fun(self):
    self.textEdit.setText('btn1')
    self.docker2.setFloating(True)#開啟懸浮狀態(tài)
  def btn2fun(self):
    self.textEdit.setText('btn2')
    self.docker1.setFloating(True)
    
if __name__ == '__main__':
  app=QApplication(sys.argv)
  demo=DockDemo()
  demo.show()
  sys.exit(app.exec_())

效果: 

重寫QDockWidget類

import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import QMainWindow, QTextEdit, QDockWidget, QPushButton, QApplication, QWidget, QVBoxLayout


class docker(QDockWidget):
  def __init__(self, parent):
    super().__init__(parent)
    self.btn1 = QPushButton('btn1')
    self.btn2 = QPushButton('btn2')
    self.vbox = QVBoxLayout()
    self.vbox.addWidget(self.btn1)
    self.vbox.addWidget(self.btn2)
    self.wgt = QWidget()
    self.wgt.setLayout(self.vbox)
    self.setWidget(self.wgt)

class DockDemo(QMainWindow):
  def __init__(self):
    super().__init__()
    self.docker = docker(self)
    self.textEdit = QTextEdit()
    self.setCentralWidget(self.textEdit)
    self.docker.btn1.clicked.connect(self.btn1fun)
    self.docker.btn2.clicked.connect(self.btn2fun)
    self.addDockWidget(Qt.RightDockWidgetArea, self.docker)
    self.setWindowTitle('Dock 例子')
    self.resize(400, 300)

  def btn1fun(self):
    self.textEdit.setText('btn1')

  def btn2fun(self):
    self.textEdit.setText('btn2')


if __name__ == '__main__':
  app = QApplication(sys.argv)
  demo = DockDemo()
  demo.show()
  sys.exit(app.exec_())

效果:

到此這篇關于PyQt5 QDockWidget控件應用詳解的文章就介紹到這了,更多相關PyQt5 QDockWidget內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關文章

  • 在Python中使用元類的教程

    在Python中使用元類的教程

    這篇文章主要介紹了在Python中使用元類的教程,是Python當中的基礎知識,代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • 極簡的Python入門指引

    極簡的Python入門指引

    這篇文章是一個極簡的Python入門指引、原文在網(wǎng)絡上人氣相當高,將一些基本知識用實例代碼說明,需要的朋友可以參考下
    2015-04-04
  • Python中new方法的詳解

    Python中new方法的詳解

    今天小編就為大家分享一篇關于Python中new方法的詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Python圖像處理之顏色的定義與使用分析

    Python圖像處理之顏色的定義與使用分析

    這篇文章主要介紹了Python圖像處理之顏色的定義與使用,結(jié)合實例形式分析了matplotlib模塊中顏色值的相關使用操作技巧,需要的朋友可以參考下
    2019-01-01
  • pandas重置索引標簽的實現(xiàn)示例

    pandas重置索引標簽的實現(xiàn)示例

    在使用Pandas進行數(shù)據(jù)處理時,有時候我們可能會需要對數(shù)據(jù)進行重置索引的操作,本文主要介紹了pandas重置索引標簽的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • Python上下文管理器用法及實例解析

    Python上下文管理器用法及實例解析

    這篇文章主要介紹了Python上下文管理器用法及實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Python登錄注冊驗證功能實現(xiàn)

    Python登錄注冊驗證功能實現(xiàn)

    本篇文章給大家整理了用python實現(xiàn)登陸注冊驗證的基本會員功能,對此有需要的朋友可以參考下。
    2018-06-06
  • PyQt5 顯示超清高分辨率圖片的方法

    PyQt5 顯示超清高分辨率圖片的方法

    這篇文章主要介紹了PyQt5 顯示超清高分辨率圖片的方法,幫助大家更好的理解和阿學習使用pyqt5,感興趣的朋友可以了解下
    2021-04-04
  • TensorFlow變量管理詳解

    TensorFlow變量管理詳解

    這篇文章主要為大家詳細介紹了TensorFlow變量管理的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python 字符串的有關知識詳解

    Python 字符串的有關知識詳解

    這篇文章主要為大家介紹了Python的字符串,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助,希望能夠給你帶來幫助
    2021-11-11

最新評論