toggle()、triggered()、clicked()区别
这三个信号都是按钮点击后发射的信号,区别在于:
clicked()用于Button发射的信号
triggered()用于QAction发射的信号,原型:void triggered(bool checked = false);
toggle()用于ChekBox,非开即关,原型:void toggled(bool);
菜单和工具栏
状态栏
在QMainWindow继承上:
def initUI(self):
self.statusBar().showMessage('Ready')
QMainWindow类第一次调用statusBar()方法创建一个状态栏。后续调用返回的状态栏对象。showMessage()状态栏上显示一条消息。
菜单栏
def initUI(self):
exitAction = QAction(QIcon('exit.png'), '&Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.setStatusTip('Exit application')
exitAction.triggered.connect(qApp.quit)#调用qApp.quit,终止应用程序
self.statusBar()
#创建一个菜单栏
menubar = self.menuBar()
#添加菜单
fileMenu = menubar.addMenu('&File')
#添加事件
fileMenu.addAction(exitAction)
QAction可以操作菜单栏,工具栏,或自定义键盘快捷键。上面三行,我们创建一个事件和一个特定的图标和一个“退出”的标签。然后,在定义该操作的快捷键。
第四行创建一个鼠标指针悬停在该菜单项上时的提示。
工具栏
def initUI(self):
exitAction = QAction(QIcon('exit24.png'), 'Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.triggered.connect(qApp.quit)
self.toolbar = self.addToolBar('Exit')
self.toolbar.addAction(exitAction)