PyQt4-メニューとツールバー

メインウィンドウ
QMainWindowクラスは、メインアプリケーションウィンドウを表します。 これを使用すると、ステータスバー、ツールバー、メニューを備えたクラシックビューを作成できます。

ステータスバー
ステータスバーは、ステータス情報を表示するために使用されるウィジェットです。
#!/usr/bin/python

import sys
from PyQt4 import QtGui

class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)

self.resize(250, 150)
self.setWindowTitle('statusbar')

self.statusBar().showMessage('Ready')

app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())


self.statusBar().showMessage('Ready')

ステータスバーを作成するには、QApplicationクラスのstatusBar()メソッドを呼び出します。 ShowMessage()は、ステータスバーにメッセージを表示します。

メニュー
メニューは、GUIアプリケーションの最も顕著な部分の1つです。 これは、さまざまなメニューにあるコマンドのグループです。 コンソールアプリケーションでは、すべてのシークレットコマンドを覚えておく必要がありますが、ここでは、論理的にグループ化されたほとんどのコマンドにアクセスできます。 これは、新しいアプリケーションを習得するのにかかる時間を短縮する、受け入れられている標準です。
#!/usr/bin/python

import sys
from PyQt4 import QtGui, QtCore

class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)

self.resize(250, 150)
self.setWindowTitle('menubar')

exit = QtGui.QAction(QtGui.QIcon('icons/exit.png'), 'Exit', self)
exit.setShortcut('Ctrl+Q')
exit.setStatusTip('Exit application')
self.connect(exit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()'))

self.statusBar()

menubar = self.menuBar()
file = menubar.addMenu('&File')
file.addAction(exit)

app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())

self.statusBar().showMessage('Ready')

最初に、QMainWindowクラスのmenuBar()メソッドを使用してメニューを作成します。 次に、addMenu()メソッドを使用して、[ファイル]メニュー項目を追加し、作成された項目にexitオブジェクトを接続します。
ツールバー
メニューには、アプリケーションで使用できるすべてのコマンドが組み合わされています。 ツールバーを使用すると、最も一般的に使用されるコマンドにすばやくアクセスできます。
#!/usr/bin/python

import sys
from PyQt4 import QtGui, QtCore

class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)

self.resize(250, 150)
self.setWindowTitle('toolbar')

self.exit = QtGui.QAction(QtGui.QIcon('icons/exit.png'), 'Exit', self)
self.exit.setShortcut('Ctrl+Q')
self.connect(self.exit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()'))

self.toolbar = self.addToolBar('Exit')
self.toolbar.addAction(self.exit)

app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())

self.exit = QtGui.QAction(QtGui.QIcon('icons/exit.png'), 'Exit', self)
self.exit.setShortcut('Ctrl+Q')

GUIアプリケーションはコマンドによって制御され、これらのコマンドはメニュー、コンテキストメニュー、ツールバーから、またはホットキーを使用して起動できます。 PyQtはアクションの導入により開発を簡素化します。 アクションオブジェクトには、メニューテキスト、アイコン、ショートカット(キーボードショートカット)、ステータステキスト、「What's This?」テキスト、およびツールチップを含めることができます。 この例では、アイコン、ショートカット、およびツールチップを使用してアクションオブジェクトを定義します。
self.connect(self.exit, QtCore.SIGNAL('triggered()'),
QtCore.SLOT('close()'))

ここで、アクションオブジェクトのトリガーされた()信号を、事前定義されたclose()信号に接続します。
self.toolbar = self.addToolBar('Exit')
self.toolbar.addAction(self.exit)

ツールバーを作成し、それにアクションオブジェクトを設定します。
ツールバー

一緒に組み合わせる
最後の例では、ウィンドウを作成し、その上にメニュー、ツールバー、ステータスバーを配置し、中央のウィジェットも追加します。
#!/usr/bin/python

import sys
from PyQt4 import QtGui, QtCore

class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)

self.resize(350, 250)
self.setWindowTitle('mainwindow')

textEdit = QtGui.QTextEdit()
self.setCentralWidget(textEdit)

exit = QtGui.QAction(QtGui.QIcon('icons/exit.png'), 'Exit', self)
exit.setShortcut('Ctrl+Q')
exit.setStatusTip('Exit application')
self.connect(exit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()'))

self.statusBar()

menubar = self.menuBar()
file = menubar.addMenu('&File')
file.addAction(exit)

toolbar = self.addToolBar('Exit')
toolbar.addAction(exit)

app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())

self.toolbar = self.addToolBar('Exit')
self.toolbar.addAction(self.exit)

ここでは、QMainWindowの中心に設定されるQtextEditウィジェットを作成します。 中央のウィジェットがすべての空きスペースを占有します。
メインウィンドウ

Source: https://habr.com/ru/post/J31685/


All Articles