亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PyQt5 QDockWidget控件應(yīng)用詳解

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

前言

QDockWidget是一個(gè)可以停靠在QMainWindow內(nèi)的窗口控件,它可以保持在浮動(dòng)狀態(tài)或者在指定位置作為子窗口附加到主窗口中,QMainWindow類(lèi)的主窗口對(duì)象保留有一個(gè)用于停靠窗口的區(qū)域,這個(gè)區(qū)域在控件的中央周?chē)?/p>

QDoCKWidget類(lèi)中的常用方法

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

實(shí)例: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)
    #設(shè)置水平布局
    layout=QHBoxLayout()
    #實(shí)例化菜單欄
    bar=self.menuBar()
    #創(chuàng)建主菜單file,在其中添加子菜單
    file=bar.addMenu('File')
    file.addAction('New')
    file.addAction('Save')
    file.addAction('quit')

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

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

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

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

    #設(shè)置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_())

不重寫(xiě)QDockWidget類(lèi) 

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)#開(kāi)啟懸浮狀態(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_())

效果: 

重寫(xiě)QDockWidget類(lèi)

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_())

效果:

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

您可能感興趣的文章:

相關(guān)文章

  • 在Python中使用元類(lèi)的教程

    在Python中使用元類(lèi)的教程

    這篇文章主要介紹了在Python中使用元類(lèi)的教程,是Python當(dāng)中的基礎(chǔ)知識(shí),代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • 極簡(jiǎn)的Python入門(mén)指引

    極簡(jiǎn)的Python入門(mén)指引

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

    Python中new方法的詳解

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

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

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

    pandas重置索引標(biāo)簽的實(shí)現(xiàn)示例

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

    Python上下文管理器用法及實(shí)例解析

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

    Python登錄注冊(cè)驗(yàn)證功能實(shí)現(xiàn)

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

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

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

    TensorFlow變量管理詳解

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

    Python 字符串的有關(guān)知識(shí)詳解

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

最新評(píng)論