Я хочу открыть другое окно QFrame, когда мы нажимаем на действие QMenu. Вот окно QFrame, которое мы хотим открыть. Код работает хорошо, когда мы работаем независимо.
class FileMenu(object):
def openMenu(self):
self.openWidget = QWidget()
mainLayout = QVBoxLayout(self.openWidget)
frameTitle = QLabel("File Details")
fileFrame = QFrame()
fileFrame.setFrameShape(QFrame.StyledPanel)
fileFrame.setFrameShadow(QFrame.Raised)
gridLayout = QGridLayout()
fileNameLabel = QLabel("File Name",fileFrame)
gridLayout.addWidget(fileNameLabel,0,0)
self.fileNameEdit = QLineEdit(" ",fileFrame)
gridLayout.addWidget(self.fileNameEdit,0,1)
brwButton = QPushButton("",fileFrame)
brwButton.clicked.connect(self.browseFile)
brwButton.setFixedWidth(25)
gridLayout.addWidget(brwButton,0,2)
mainLayout.addWidget(frameTitle)
mainLayout.addWidget(fileFrame)
self.openWidget.setGeometry(250,250,500,100)
self.openWidget.setFixedWidth(500)
self.openWidget.setFixedHeight(250)
self.openWidget.setWindowFlags(Qt.WindowCloseButtonHint | Qt.WindowMinimizeButtonHint)
self.openWidget.show()
def browseFile(self):
fileName, _ = QFileDialog.getOpenFileName(self.openWidget, "Open File",QDir.currentPath())
if fileName:
self.fileNameEdit.setText(fileName)
class MenuBarTest(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.statusBar().showMessage("Hi Kamine")
self.setGeometry(300,300,250,250)
self.setWindowTitle("Status Bar Test")
button = QPushButton("Click Me",self)
button.move(150,150)
button.clicked.connect(on_click)
button.setToolTip("This is Button")
button.resize(button.sizeHint())
exitAct = QAction(QIcon('/home//png/album_artwork.png'), 'Exit', self)
exitAct.setShortcut('Ctrl+Q')
exitAct.setStatusTip('Exit application')
exitAct.triggered.connect(on_click)
openAct = QAction(QIcon(''),'Open',self)
openAct.setShortcut('Ctrl+0')
filetemp = FileMenu()
openAct.triggered.connect(filetemp.openMenu)
impMenu = QMenu('Import',self);
impAct = QAction('Import',self)
impAct.triggered.connect(on_save)
impMenu.addAction(impAct)
checkAct = QAction("Check Box",self,checkable=True)
checkAct.setStatusTip("Check Action Tested")
checkAct.setChecked(True)
checkAct.triggered.connect(on_save)
menuBar = self.menuBar()
fileMenu = menuBar.addMenu("File")
fileMenu.addAction(exitAct)
fileMenu.addMenu(impMenu)
fileMenu.addAction(saveAct)
checkMenu = menuBar.addMenu("check")
checkMenu.addAction(checkAct)
toolbar = self.addToolBar('Exit')
toolbar.addAction(exitAct)
self.
Я хочу вызвать openMenu в классе FileMenu из класса MenuBarTest, используя openAction в другом окне.
Пожалуйста, дайте мне знать, как вызвать открытое меню в другом окне.