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

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è)可以??吭赒MainWindow內(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)文章

  • Pycharm最新激活碼2019(推薦)

    Pycharm最新激活碼2019(推薦)

    這篇文章主要介紹了Pycharm最新激活碼2019,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Python中qutip用法示例詳解

    Python中qutip用法示例詳解

    這篇文章主要給大家介紹了關(guān)于Python中qutip用法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • scrapy爬蟲(chóng)部署服務(wù)器的方法步驟

    scrapy爬蟲(chóng)部署服務(wù)器的方法步驟

    本文主要介紹了scrapy爬蟲(chóng)部署服務(wù)器的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 利用python提取wav文件的mfcc方法

    利用python提取wav文件的mfcc方法

    今天小編就為大家分享一篇利用python提取wav文件的mfcc方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • python實(shí)現(xiàn)可下載音樂(lè)的音樂(lè)播放器

    python實(shí)現(xiàn)可下載音樂(lè)的音樂(lè)播放器

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)可下載音樂(lè)的音樂(lè)播放器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Pandas+Numpy+Sklearn隨機(jī)取數(shù)的實(shí)現(xiàn)示例

    Pandas+Numpy+Sklearn隨機(jī)取數(shù)的實(shí)現(xiàn)示例

    使用Python、pandas、numpy、scikit-learn來(lái)實(shí)現(xiàn)隨機(jī)打亂、抽取和切割數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • 使用python實(shí)現(xiàn)希爾、計(jì)數(shù)、基數(shù)基礎(chǔ)排序的代碼

    使用python實(shí)現(xiàn)希爾、計(jì)數(shù)、基數(shù)基礎(chǔ)排序的代碼

    希爾排序是一個(gè)叫希爾的數(shù)學(xué)家提出的一種優(yōu)化版本的插入排序。這篇文章主要介紹了使用python實(shí)現(xiàn)希爾、計(jì)數(shù)、基數(shù)基礎(chǔ)排序,需要的朋友可以參考下
    2019-12-12
  • Python3 json模塊之編碼解碼方法講解

    Python3 json模塊之編碼解碼方法講解

    這篇文章主要介紹了Python3 json模塊之編碼解碼方法講解,需要的朋友可以參考下
    2021-04-04
  • python連接oracle數(shù)據(jù)庫(kù)操作實(shí)例及遇到的異常

    python連接oracle數(shù)據(jù)庫(kù)操作實(shí)例及遇到的異常

    這篇文章主要給大家介紹了關(guān)于python連接oracle數(shù)據(jù)庫(kù)操作實(shí)例及遇到的一些異常,Oracle是著名且廣泛使用的數(shù)據(jù)庫(kù)之一,而python的數(shù)據(jù)處理功能可以很好地利用這種連接性,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • 在python中利用GDAL對(duì)tif文件進(jìn)行讀寫(xiě)的方法

    在python中利用GDAL對(duì)tif文件進(jìn)行讀寫(xiě)的方法

    今天小編就為大家分享一篇在python中利用GDAL對(duì)tif文件進(jìn)行讀寫(xiě)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11

最新評(píng)論

青阳县| 景宁| 社会| 珠海市| 蓝田县| 克拉玛依市| 岳普湖县| 亳州市| 徐州市| 通化市| 枣庄市| 甘洛县| 利辛县| 上蔡县| 旌德县| 合山市| 繁昌县| 鹰潭市| 简阳市| 台中市| 威宁| 双流县| 中山市| 武鸣县| 蕲春县| 玛纳斯县| 平乡县| 镇坪县| 高要市| 康平县| 宝丰县| 云浮市| 杭州市| 军事| 余干县| 克山县| 浦城县| 柘城县| 米泉市| 祁阳县| 昌都县|