工具栏是一个可以移动的面板,包含文本按钮或者图标按钮或其他小控件。通常把它放在标题栏下面,也可以拖动它让它悬浮。
- addAction():添加文本或图标样式的工具按钮
- addSeperator():添加分割线
- addWidget():添加其他控件而不是按钮
- addToolBar():QMainWindow主窗口新增一个工具栏
- setMovable():设置工具栏可移动
- setOrientation():设成水平或垂直,参数为Qt.Horizontal或Qt.Vertical
当点击工具栏中的按钮时,发射ActionTriggered()信号。
栗子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| import sys from PyQt4.QtCore import * from PyQt4.QtGui import *
class window(QMainWindow): def __init__(self, parent=None): super(window, self).__init__(parent) self.init()
def init(self): layout = QVBoxLayout() tb = self.addToolBar("File")
new = QAction(QIcon("new.bmp"), "new", self) tb.addAction(new) open = QAction(QIcon("open.bmp"), "open", self) tb.addAction(open) save = QAction(QIcon("save.bmp"), "save", self) tb.addAction(save)
tb.actionTriggered[QAction].connect(self.toolbtnpressed) self.setLayout(layout) self.setWindowTitle("toolbar demo")
def toolbtnpressed(self, a): print "pressed tool button is", a.text()
def main(): app = QApplication(sys.argv) ex = window() ex.show() sys.exit(app.exec_())
if __name__ == '__main__': main()
|