- PyQt 教程
- PyQt - 首页
- PyQt - 简介
- PyQt - 环境搭建
- PyQt - Hello World
- PyQt - 主要类
- PyQt - 使用 Qt Designer
- PyQt - 元对象
- PyQt 信号与槽
- PyQt - 信号和槽
- PyQt - 支持和信号
- PyQt - 未绑定和已绑定信号
- PyQt - 使用 PyQtSignal 创建新的信号
- PyQt - 连接、断开和发射信号
- PyQt - 槽装饰器
- PyQt - 槽连接
- PyQt 布局
- PyQt - 布局管理
- PyQt - QBoxLayout
- PyQt - QGridLayout
- PyQt - QFormLayout
- PyQt - QHBoxLayout
- PyQt - QVBoxLayout
- PyQt - QStackedLayout
- PyQt - QGraphicsGridLayout
- PyQt - QGraphicsAnchorLayout
- PyQt - QGraphicsLayout
- PyQt - QGraphicsLinearLayout
- PyQt 基本控件
- PyQt - 基本控件
- PyQt - QLabel 控件
- PyQt - QLineEdit 控件
- PyQt - QPushButton 控件
- PyQt - QRadioButton 控件
- PyQt - QCheckBox 控件
- PyQt - QComboBox 控件
- PyQt - QSpinBox 控件
- PyQt - QMessageBox
- PyQt - QDialogButtonBox 控件
- PyQt - QFontComboBox 控件
- PyQt - QDoubleSpinBox 控件
- PyQt - QToolBox 控件
- PyQt - QDialog 类
- PyQt - QMessageBox
- PyQt - 多文档界面
- PyQt - 拖放操作
- PyQt 绘图 API
- PyQt - 绘图 API
- PyQt 数据库
- PyQt - 数据库处理
- PyQt 基础
- PyQt - BrushStyle 常量
- PyQt - QClipboard
- PyQt - QPixmap 类
- PyQt 有用资源
- PyQt - 快速指南
- PyQt - 有用资源
- PyQt - 讨论
PyQt - QToolBar 控件
QToolBar 控件是一个可移动的面板,包含文本按钮、带图标的按钮或其他控件。
它通常位于菜单栏下方的一条水平条中,但也可以是浮动的。QToolBar 类的某些有用方法如下:
| 序号 | 方法及描述 |
|---|---|
| 1 |
addAction() 添加带有文本或图标的工具按钮 |
| 2 |
addSeperator() 将工具按钮显示为组 |
| 3 |
addWidget() 在工具栏中添加按钮以外的控件 |
| 4 |
addToolBar() QMainWindow 类方法,添加新的工具栏 |
| 5 |
setMovable() 工具栏变为可移动的 |
| 6 |
setOrientation() 工具栏的方向设置为 Qt.Horizontal 或 Qt.vertical |
每当单击工具栏上的按钮时,都会发出 ActionTriggered() 信号。此外,它还会将与事件关联的 QAction 对象的引用发送到已连接的函数。
通过调用 addToolBar() 方法,在工具栏区域添加一个文件工具栏。
tb = self.addToolBar("File")
尽管可以添加带有文本标题的工具按钮,但工具栏通常包含图形按钮。一个带有图标和名称的 QAction 对象被添加到工具栏中。
new = QAction(QIcon("new.bmp"),"new",self)
tb.addAction(new)
同样,添加打开和保存按钮。
最后,actionTriggered() 信号连接到槽函数 toolbtnpressed()
tb.actionTriggered[QAction].connect(self.toolbtnpressed)
执行示例的完整代码如下:
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class tooldemo(QMainWindow):
def __init__(self, parent = None):
super(tooldemo, self).__init__(parent)
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 = tooldemo()
ex.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
以上代码产生以下输出:
广告