Hope is a Dream. Dream is a Hope.

非公開ふぃふぃ工房ブログ

QMainWindowのテンプレート QMainWindowを使うときにいつも使い方を忘れてしまう

詳細はこちら

pyside_cookbook/09_QMainwindow at master · peace098beat/pyside_cookbook · GitHub

QMainWindowのテンプレート

QMainWindowを使うときにいつも使い方を忘れてしまう。Menubarやステータスバー、プログレスバー等々。 また、メインウィンドウではファイルオープンが必須だったりする。 また、デバッグ時の速度計測のためにFPSを表示したり、シグナルをいろいろつくったり。 また、ドラッグアンドドロップをしたり。 また、メッセージダイアログのだしかたをしらべたりとか。 また、セントラルウィジェットを配置する「おまじない」をわすれたりとか。。。 「さてアプリつくるか!」ってなってから、実際のアルゴリズム部分までにいくのにかなりのじかんをつかってしまう。

ってことで

テンプレートをつくった。

継承してつかってね。

demo

#! coding:utf-8
"""
BasedMainWindowの使い方
"""

import sys
import os
import time
from PySide.QtGui import *
from PySide.QtCore import *

from baseqmainwindow import BasedMainWindow


class YourMainWindow(BasedMainWindow):

    """ BaseMainWindwの使いかた その2
  ウィジェットのレイアウトの方法
  """
    
    def __init__(self):
        super().__init__()

        # おまじない
        self.main_widget = QWidget(self)
        self.main_layout = QGridLayout(self.main_widget)
        self.setCentralWidget(self.main_widget)

        # 子供UI
        label1 = QLabel("Top - Left")
        label2 = QLabel("Top - Right")
        label3 = QLabel("Bottom - Left")
        label4 = QLabel("Bottom - right")

        # レイアウトをセット
        self.main_layout.addWidget(label1, 0, 0)
        self.main_layout.addWidget(label2, 0, 1)
        self.main_layout.addWidget(label3, 1, 0)
        self.main_layout.addWidget(label4, 1, 1)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    app.lastWindowClosed.connect(app.quit)

    win = YourMainWindow()
    win.show()
    sys.exit(app.exec_())
    ```