MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
PyQtの基礎 - 画面のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
PyQtの基礎 - 画面
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == <br><br> == 画面の表示 == まず、PyQtで基本となるものは、画面を表示することである。<br> 以下のサンプルコードでは、画面のみを表示している。<br> <source lang="python"> # - * - coding: utf8 - * - import sys from PyQt5.QtCore import * from PyQt5.QtWidgets import * # QWidgetクラスの使用 class MyWindow(QWidget): def __init__(self, parent=None): super(MyWindow, self).__init__(parent) self.title = "ウィンドウのタイトル" self.width = 500 self.height = 400 self.setWindowTitle(self.title) self.setGeometry(0, 0, self.width, self.height) self.show() def main(): App = QApplication(sys.argv) Window = MyWindow() sys.exit(App.exec_()) if __name__ == "__main__": main() </source> <br><br> == ステータスバーの表示 == ここでは、画面にステータスバーを表示する方法を記載する。<br> ステータスバーには、現在の画面内の情報等を表示することが可能である。<br> <br> 上記のセクションでは、QWidgetクラスを継承したMainWindowクラスを作成して画面を表示しているが、<br> ステータスバーを表示するには、QMainWindowクラスを継承して画面を作成する必要がある。<br> <br> QWidgetクラスやQDialogクラスを使用して画面を作成することもできるが、メイン画面においてはQMainWindowクラスを使用することを推奨する。<br> QMainWindowクラスは、以下に示すソフトウェアのメイン画面を作成するための機能を提供しているからである。<br> * メニューバー * ツールバー * ドックウィジェット * 中央ウィジェット * ステータスバー 以下のサンプルコードでは、ステータスバーを表示している。<br> <source lang="python"> # - * - coding: utf8 - * - import sys from PyQt5.QtCore import * from PyQt5.QtWidgets import * # QWidgetクラスの使用 class MyWindow(QWidget): def __init__(self, parent=None): super(MyWindow, self).__init__(parent) self.title = "ウィンドウのタイトル" self.width = 500 self.height = 400 self.setWindowTitle(self.title) self.setGeometry(0, 0, self.width, self.height) self.statusBar().showMessage('ステータスバーの表示') self.show() def main(): App = QApplication(sys.argv) Window = MyWindow() sys.exit(App.exec_()) if __name__ == "__main__": main() </source> <br> 以下のサンプルコードでは、ステータスバーにデジタル時計を表示している。<br> <source lang="python"> # - * - coding: utf8 - * - import sys import datetime # 時計を表示するために必要 from PyQt5.QtCore import * from PyQt5.QtWidgets import * # QWidgetクラスの使用 class MyWindow(QWidget): def __init__(self, parent=None): super(MyWindow, self).__init__(parent) self.title = "ウィンドウのタイトル" self.width = 500 self.height = 400 self.setWindowTitle(self.title) self.setGeometry(0, 0, self.width, self.height) self.show() timer = QTimer(self) timer.timeout.connect(self.getDateTime) timer.start(1000) # 1000ミリ秒 def getDateTime(self): dt = datetime.datetime.today() dt_str = dt.strftime("%Y年%m月%d日 %H時%M分%S秒") self.statusBar().showMessage("ステータスバーの時計" + " " + dt_str) def main(): App = QApplication(sys.argv) Window = MyWindow() sys.exit(App.exec_()) if __name__ == "__main__": main() </source> <br> 上記のサンプルコードでは、シグナルとスロットと呼ばれる機能を使用している。<br> オブジェクトは、何らかのイベントが生じた際にシグナルを発生させて、それをスロットの関数が受け取ることで画面上の情報を更新することができる。<br> ここでは、QTimerのインスタンスを生成した後、timeoutシグナルに対してgetDateTimeメソッドをスロットとして呼び出して、それらをconnectで結び付けている。<br> <source lang="python"> timer = QTimer(self) timer.timeout.connect(self.getDateTime) timer.start(1000) </source> <br><br> == メニューバーの表示 == このセクションでは、メニューバーを表示する。<br> <br> 以下のサンプルコードでは、メニューバーと[ファイル]メニューおよび[終了]サブメニューを表示して、<br> [終了]サブメニューにソフトウェアを終了するメニューバーアクションを定義している。<br> <source lang="python"> # - * - coding: utf8 - * - import sys from PyQt5.QtCore import * from PyQt5.QtWidgets import * # QWidgetクラスの使用 class MyWindow(QWidget): def __init__(self, parent=None): super(MyWindow, self).__init__(parent) self.title = "ウィンドウのタイトル" self.width = 500 self.height = 400 # メニューバーの定義 exitAction = QAction('&終了', self) exitAction.setShortcut('Ctrl+Q') exitAction.setStatusTip('終了する') exitAction.triggered.connect(qApp.quit) # メニューバーアクションの追加 menubar = self.menuBar() fileMenu = menubar.addMenu('&ファイル') fileMenu.addAction(exitAction) self.setWindowTitle(self.title) self.setGeometry(0, 0, self.width, self.height) # ステータスバー self.statusBar() self.show() def main(): App = QApplication(sys.argv) Window = MyWindow() sys.exit(App.exec_()) if __name__ == "__main__": main() </source> <br><br> __FORCETOC__ [[カテゴリ:Python]]
PyQtの基礎 - 画面
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse