QT官网:https://www.qt.io/
QT(qt5)官方文档:http://doc.qt.io/qt-5/,查询某个类的文档可以直接在后面加上类名即可。
    如:QAction Class文档: http://doc.qt.io/qt-5/qaction.html
           QToolBar Class文档:http://doc.qt.io/qt-5/qtoolbar.html
    (注:文档中虽然是针对C++的,但PyQT中基本都可以直接使用。)


1.  QToolBar的创建及操作响应:

_font = QFont()
     _font.setPixelSize(12)
     toolbar = QToolBar(self)



# 创建QAction
     action_radio_btn1 = toolbar.addAction('btn1')
     action_radio_btn1.setCheckable(True)
     action_radio_btn1.setFont(_font)
     action_radio_btn2 = toolbar.addAction('btn2')
     action_radio_btn2.setCheckable(True)
     action_radio_btn2.setFont(_font)



# 为单选按钮创建组
     function_group = QActionGroup(toolbar)
     function_group.setExclusive(True)
     function_group.addAction(action_radio_btn1)
     function_group.addAction(action_radio_btn2)
     function_group.triggered.connect(_function_selected_handler)
     # 初始化button1为选中状态
     action_radio_btn1.setChecked(True)



 

# 增加分割线
     toolbar.addSeparator()


    

action_btn3 = toolbar.addAction('btn3')
     action_btn3.setFont(_font)
     action_btn3.triggered.connect(_button3_handler)



# 增加QPushButton (作为Widget添加)
     push_btn4 = QPushButton('btn4')
     push_btn4.setFlat(True)
     push_btn4.clicked.connect(_push_button4_handler)
     action_push_button4 = toolbar.addWidget(push_btn4)
     action_push_button4.setEnabled(False)
def _function_selected_handler(action):
    if action == action_radio_btn1:
        pass  # TODO
      elif action == action_radio_btn2:
         pass  # TODO def _button3_handler():
     pass  # TODO def _push_button4_handler():
    pass  # TODO

 

2.  QToolBar的背景颜色和前景颜色设置: 
 

toolbar = QToolBar(self)
     toolbar.setAutoFillBackground(True)
     
     # Method1:仅设置Toolbar的背景色为红色
     toolbar.setPalette(QPalette(QColor(0xFF, 0x00, 0x00)))
     # Method2:同时设置Toolbar的背景色和前景色
     _palette = QPalette()
     _palette.setColor(QPalette.Button, QColor(0x00, 0x00, 0xFF))
     _palette.setColor(QPalette.ButtonText, QColor(0xFF, 0x00, 0x00))
     toolbar.setPalette(_palette)




3. 单独设置QToolBar上某一按钮的颜色:

由于QAction类没有setPalette方法,暂不知如何为QAction对象设置颜色,所以QToolBar上的按钮采用QPushButton类。
    action_button1 = toolbar.addAction('Button1')
    # action_button1如何设置文本颜色?以后再研究~~

    # 使用QPushButton类
    action_button1 = QPushButton('Button1')
    action_button1.setFlat(True)
    action_button1.setAutoFillBackground(True)
    _palette = QPalette()
    # 设置按钮字体颜色
    _palette.setColor(QPalette.ButtonText, QColor(0xFF, 0x00, 0x00))
    # 设置按钮背景颜色,需要setFlat(True)且setAutoFillBackground(True)
    _palette.setColor(QPalette.Button, QColor(0xFF, 0xFF, 0x00))
    action_button1.setPalette(_palette)
    toolbar.addWidget(action_button1)



4. QToolBar上的按钮对齐方式

    [TODO]