ホームページ  >  記事  >  バックエンド開発  >  PyQt5 はウィンドウ分離を実装するために QSplitter を毎日学習する必要があります

PyQt5 はウィンドウ分離を実装するために QSplitter を毎日学習する必要があります

不言
不言オリジナル
2018-04-19 10:35:083866ブラウズ

この記事では、PyQt5 で毎日学習する必要があるウィンドウの分割を主に紹介します。興味のある方は参考にしてください。

QSplitter では、サブパネルの境界をドラッグすることで、サブパネルのサイズを制御できます。パネル。この例では、2 つの QSplitter を使用して 3 つの QFrame コントロールを分離しました。

#!/usr/bin/python3
# -*- coding: utf-8 -*-

"""
PyQt5 教程

这个例子说明如何使用QSplitter部件。

作者:我的世界你曾经来过
博客:http://blog.csdn.net/weiaitaowang
最后编辑:2016年8月4日
"""

import sys
from PyQt5.QtWidgets import (QApplication, QWidget, QHBoxLayout, 
QFrame, QSplitter)
from PyQt5.QtCore import Qt

class Example(QWidget):

  def __init__(self):
    super().__init__()

    self.initUI()

  def initUI(self):

    hbox = QHBoxLayout(self)

    topleft = QFrame(self)
    topleft.setFrameShape(QFrame.StyledPanel)

    topright = QFrame(self)
    topright.setFrameShape(QFrame.StyledPanel)

    bottom = QFrame(self)
    bottom.setFrameShape(QFrame.StyledPanel)

    splitter1 = QSplitter(Qt.Horizontal)
    splitter1.addWidget(topleft)
    splitter1.addWidget(topright)

    splitter2 = QSplitter(Qt.Vertical)
    splitter2.addWidget(splitter1)
    splitter2.addWidget(bottom)

    hbox.addWidget(splitter2)
    self.setLayout(hbox)

    self.setGeometry(300, 300, 300, 200)
    self.setWindowTitle('窗口分隔')    
    self.show()

if __name__ == '__main__':

  app = QApplication(sys.argv)
  ex = Example()
  sys.exit(app.exec_())

この例では、3 つのフレーム ウィジェットと 2 つの QSplitter を使用しました。一部のテーマでは QSplitter の境界が表示されない場合があることに注意してください。

topleft = QFrame(self)
topleft.setFrameShape(QFrame.StyledPanel)

QFrame コントロール間の境界をより明確にするために、StyledPanel スタイルを QFrame コントロールに追加します。

splitter1 = QSplitter(Qt.horizo​​ntal)
splitter1.addWidget(topleft)
splitter1.addWidget(topright)

QSplitter コントロールを作成し、それに 2 つの QFrame を追加しました。

splitter2 = QSplitter(Qt.Vertical)
splitter2.addWidget(splitter1)

QSplitter を別の QSplitter ウィジェットに追加することもできます。

プログラムの実行後

関連する推奨事項:

PyQt5 ツールチップ関数を毎日学習する必要があります

以上がPyQt5 はウィンドウ分離を実装するために QSplitter を毎日学習する必要がありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。