यह ट्यूटोरियल PyQt5 में मेनू बार बनाने और उसे कस्टमाइज़ करने का एक व्यापक गाइड प्रदान करता है। हम कई उदाहरणों को कवर करेंगे, एक बुनियादी कार्यान्वयन से लेकर अधिक उन्नत सुविधाओं तक, जिसमें आइकन और चेक करने योग्य मेनू आइटम जोड़ना शामिल है। अंत तक, आप अपने PyQt5 अनुप्रयोगों के लिए मज़बूत और उपयोगकर्ता के अनुकूल मेनू बनाने में सक्षम होंगे।
विषयवस्तु:
- एक बुनियादी मेनू बार बनाना
- मेनू आइटम में आइकन जोड़ना
- चेक करने योग्य मेनू आइटम लागू करना
- उपमेनू बनाना
- कीबोर्ड शॉर्टकट जोड़ना
- संदर्भ मेनू
1. एक बुनियादी मेनू बार बनाना
यह खंड आपके PyQt5 अनुप्रयोग में मेनू बार जोड़ने और उसे मेनू और क्रियाओं से भरने की मूल प्रक्रिया को दर्शाता है। यह उदाहरण “फ़ाइल” मेनू बनाता है जिसमें “नया,” “खोलें,” और “बाहर निकलें” विकल्प हैं।
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMenu, QAction
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("PyQt5 मेनू बार उदाहरण")
menubar = self.menuBar()
file_menu = menubar.addMenu("फ़ाइल")
new_action = QAction("नया", self)
open_action = QAction("खोलें", self)
exit_action = QAction("बाहर निकलें", self)
file_menu.addAction(new_action)
file_menu.addAction(open_action)
file_menu.addSeparator()
file_menu.addAction(exit_action)
exit_action.triggered.connect(QApplication.instance().quit)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
2. मेनू आइटम में आइकन जोड़ना
आइकन जोड़ने से उपयोगकर्ता अनुभव बेहतर होता है। यह खंड दिखाता है कि आपके मेनू आइटम में आइकन कैसे शामिल करें।
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMenu, QAction
from PyQt5.QtGui import QIcon
# ... (पिछले उदाहरण से MainWindow क्लास) ...
new_action.setIcon(QIcon("new.png")) # अपने आइकन पथ से बदलें
open_action.setIcon(QIcon("open.png")) # अपने आइकन पथ से बदलें
exit_action.setIcon(QIcon("exit.png")) # अपने आइकन पथ से बदलें
# ... (पिछले उदाहरण से बाकी कोड) ...
कृपया `”new.png”`, `”open.png”`, और `”exit.png”` को अपनी आइकन फ़ाइलों के वास्तविक पथ से बदलें। सुनिश्चित करें कि आइकन आपकी पायथन स्क्रिप्ट के समान निर्देशिका में हैं या पूरा पथ प्रदान करें।
3. चेक करने योग्य मेनू आइटम लागू करना
चेक करने योग्य मेनू आइटम उपयोगकर्ताओं को विकल्पों को चालू या बंद करने की अनुमति देते हैं। यह उदाहरण उनके निर्माण और प्रबंधन को दर्शाता है।
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMenu, QAction
# ... (पिछले उदाहरण से MainWindow क्लास) ...
toolbar_action = QAction("टूलबार दिखाएँ", self, checkable=True)
toolbar_action.setChecked(True)
file_menu.addAction(toolbar_action)
toolbar_action.triggered.connect(self.toggle_toolbar)
def toggle_toolbar(self, checked):
print(f"टूलबार दृश्यता: {checked}") # अपने टूलबार तर्क से बदलें
# ... (पिछले उदाहरण से बाकी कोड) ...
4. उपमेनू बनाना
अपने मेनू आइटमों को तार्किक रूप से उपमेनू के साथ व्यवस्थित करें।
# ... (MainWindow के __init__ के अंदर) ...
edit_menu = menubar.addMenu("संपादित करें")
undo_action = QAction("पुनः करें", self)
redo_action = QAction("पुनः करें", self)
edit_menu.addAction(undo_action)
edit_menu.addAction(redo_action)
# ...
5. कीबोर्ड शॉर्टकट जोड़ना
कीबोर्ड शॉर्टकट के साथ उपयोगिता बढ़ाएँ।
# ... (MainWindow के __init__ के अंदर) ...
exit_action.setShortcut("Ctrl+Q")
# ...
6. संदर्भ मेनू
राइट-क्लिक मेनू लागू करें।
# ... (MainWindow के __init__ के अंदर) ...
self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
self.customContextMenuRequested.connect(self.show_context_menu)
def show_context_menu(self, pos):
menu = QMenu(self)
copy_action = QAction("कॉपी करें", self)
paste_action = QAction("पेस्ट करें", self)
menu.addAction(copy_action)
menu.addAction(paste_action)
menu.exec_(self.mapToGlobal(pos))
# ...
यह विस्तारित ट्यूटोरियल PyQt5 में मेनूबार के साथ काम करने के लिए एक अधिक पूर्ण आधार प्रदान करता है। `pip install PyQt5` का उपयोग करके PyQt5 स्थापित करना याद रखें। आप अपने अनुप्रयोगों के लिए और भी अधिक जटिल और सुविधा-सम्पन्न मेनू बनाने के लिए इन उदाहरणों पर विस्तार कर सकते हैं।