PySide2基础篇(十三)——QToolBar和QStatusBar运用

前言:
阅读这篇文章我能学到什么?
  前面降到了对话框的菜单栏,这篇继续讲对话框的工具栏和状态栏。它们也是设计对话框程序较常用的控件,想想我们用的IDE界面就能明白它们的重要性。

1 工具栏

1.1 创建工具栏

  工具栏就像菜单栏那样,它也是对多个控件组合的控件。我们可以给工具栏添加多个控件。我们尝试给主对话框创建一个工具栏控件,并给其添加几个按钮控件。
  代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from PySide2.QtWidgets import QApplication, QMainWindow, QToolBar, QPushButton
from PySide2.QtGui import QIcon

app = QApplication([])

MainWindow = QMainWindow()

Icon = QIcon(".\png\Icon.ico")

PushButton1 = QPushButton(MainWindow)
PushButton1.setIcon(Icon)
PushButton2 = QPushButton(MainWindow)
PushButton2.setIcon(Icon)
PushButton3 = QPushButton(MainWindow)
PushButton3.setText("初始文本")

ToolBar = MainWindow.addToolBar("Tool Bar")
ToolBar.addWidget(PushButton1)
ToolBar.addWidget(PushButton2)
ToolBar.addWidget(PushButton3)

MainWindow.show()
app.exec_()

  运行结果:

PySide2基础篇(十三)——QToolBar和QStatusBar运用

前言:
阅读这篇文章我能学到什么?
  前面降到了对话框的菜单栏,这篇继续讲对话框的工具栏和状态栏。它们也是设计对话框程序较常用的控件,想想我们用的IDE界面就能明白它们的重要性。

1 工具栏

1.1 创建工具栏

  工具栏就像菜单栏那样,它也是对多个控件组合的控件。我们可以给工具栏添加多个控件。我们尝试给主对话框创建一个工具栏控件,并给其添加几个按钮控件。
  代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from PySide2.QtWidgets import QApplication, QMainWindow, QToolBar, QPushButton
from PySide2.QtGui import QIcon

app = QApplication([])

MainWindow = QMainWindow()

Icon = QIcon(".\png\Icon.ico")

PushButton1 = QPushButton(MainWindow)
PushButton1.setIcon(Icon)
PushButton2 = QPushButton(MainWindow)
PushButton2.setIcon(Icon)
PushButton3 = QPushButton(MainWindow)
PushButton3.setText("初始文本")

ToolBar = MainWindow.addToolBar("Tool Bar")
ToolBar.addWidget(PushButton1)
ToolBar.addWidget(PushButton2)
ToolBar.addWidget(PushButton3)

MainWindow.show()
app.exec_()

  运行结果:

QToolBar.gif

  默认的工具栏是可拖动的,可以将其拖至窗口的上下左右位置,也支持浮动,即可以拖动到窗口外悬停。

1.2 工具栏的其他控制

  我们除了可以给工具栏里添加QPushButton控件外,还可以直接添加QAction作为按钮使用,可以添加QLineEdit控件等。我们可以通过设置禁用其拖动和浮动功能。可以设置鼠标悬停时的提示信息。
  代码示例:

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
from PySide2.QtWidgets import QApplication, QMainWindow, QToolBar, QPushButton, QAction, QLineEdit
from PySide2.QtGui import QIcon

app = QApplication([])

MainWindow = QMainWindow()
MainWindow.resize(400, 200)

Icon = QIcon(".\png\Icon.ico")

PushButton1 = QPushButton(MainWindow)
PushButton1.setIcon(Icon)
PushButton1.setToolTip("PushButton Tip") #设置PushButton作为按钮时的提示信息
PushButton2 = QPushButton(MainWindow)
PushButton2.setText("初始文本")

Action1 = QAction()
Action1.setIcon(Icon)
Action2 = QAction("Action")

LineEdit = QLineEdit("常作为搜索框")

ToolBar = MainWindow.addToolBar("Tool Bar")
ToolBar.setFloatable(False) #禁用浮动
ToolBar.setMovable(False) #禁用移动
ToolBar.setToolTip("ToolBar Tip") #工具栏提示信息
ToolBar.addWidget(PushButton1) #工具栏添加按钮
ToolBar.addWidget(PushButton2)
ToolBar.addAction(Action1) #工具栏添加Action
ToolBar.addAction(Action2)
ToolBar.addWidget(LineEdit)

MainWindow.show()
app.exec_()

  运行结果:

Other.gif

2 状态栏

2.1 创建状态栏

  状态栏的使用也是类似的,可以给其添加控件。
  代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from PySide2.QtWidgets import QApplication, QMainWindow, QStatusBar, QLabel, QPushButton, QLineEdit

app = QApplication([])

MainWindow = QMainWindow()
MainWindow.resize(400, 200)

Label = QLabel("初始文本", MainWindow)

PushBUtton = QPushButton("按钮", MainWindow)

LineEdit = QLineEdit("初始文本", MainWindow)

StatusBar = QStatusBar(MainWindow)
StatusBar.move(0, 170) #设置到窗口底部显示
StatusBar.resize(400, 30)
StatusBar.addWidget(Label) #把空间添加到左侧
StatusBar.addWidget(PushBUtton)
StatusBar.addPermanentWidget(LineEdit) #把空间添加到右侧

MainWindow.show()
app.exec_()

  运行结果:

QStatusBar.png

2.2 状态栏的其他运用

  我们尝试给状态栏添加QPushButtonQLineEditQLabel。给状态栏添加鼠标悬浮提示信息。
  代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from PySide2.QtWidgets import QApplication, QMainWindow, QStatusBar, QLabel, QPushButton, QLineEdit

app = QApplication([])

MainWindow = QMainWindow()
MainWindow.resize(400, 200)

Label = QLabel("StatusBar Tip", MainWindow)

PushBUtton = QPushButton("按钮", MainWindow)

LineEdit = QLineEdit("初始文本", MainWindow)

StatusBar = QStatusBar(MainWindow)
StatusBar.move(0, 170) #设置到窗口底部显示
StatusBar.resize(400, 30)
StatusBar.setSizeGripEnabled(False) #禁用状态栏右下角的三角大小控制点
StatusBar.setToolTip("StatusBar Tip") #设置状态栏提示信息
StatusBar.addWidget(Label) #把空间添加到左侧
StatusBar.addWidget(PushBUtton)
StatusBar.addPermanentWidget(LineEdit) #把空间添加到右侧

MainWindow.show()
app.exec_()

  运行结果:

Other2.gif

  默认的工具栏是可拖动的,可以将其拖至窗口的上下左右位置,也支持浮动,即可以拖动到窗口外悬停。

1.2 工具栏的其他控制

  我们除了可以给工具栏里添加QPushButton控件外,还可以直接添加QAction作为按钮使用,可以添加QLineEdit控件等。我们可以通过设置禁用其拖动和浮动功能。可以设置鼠标悬停时的提示信息。
  代码示例:

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
from PySide2.QtWidgets import QApplication, QMainWindow, QToolBar, QPushButton, QAction, QLineEdit
from PySide2.QtGui import QIcon

app = QApplication([])

MainWindow = QMainWindow()
MainWindow.resize(400, 200)

Icon = QIcon(".\png\Icon.ico")

PushButton1 = QPushButton(MainWindow)
PushButton1.setIcon(Icon)
PushButton1.setToolTip("PushButton Tip") #设置PushButton作为按钮时的提示信息
PushButton2 = QPushButton(MainWindow)
PushButton2.setText("初始文本")

Action1 = QAction()
Action1.setIcon(Icon)
Action2 = QAction("Action")

LineEdit = QLineEdit("常作为搜索框")

ToolBar = MainWindow.addToolBar("Tool Bar")
ToolBar.setFloatable(False) #禁用浮动
ToolBar.setMovable(False) #禁用移动
ToolBar.setToolTip("ToolBar Tip") #工具栏提示信息
ToolBar.addWidget(PushButton1) #工具栏添加按钮
ToolBar.addWidget(PushButton2)
ToolBar.addAction(Action1) #工具栏添加Action
ToolBar.addAction(Action2)
ToolBar.addWidget(LineEdit)

MainWindow.show()
app.exec_()

  运行结果:

PySide2基础篇(十三)——QToolBar和QStatusBar运用

前言:
阅读这篇文章我能学到什么?
  前面降到了对话框的菜单栏,这篇继续讲对话框的工具栏和状态栏。它们也是设计对话框程序较常用的控件,想想我们用的IDE界面就能明白它们的重要性。

1 工具栏

1.1 创建工具栏

  工具栏就像菜单栏那样,它也是对多个控件组合的控件。我们可以给工具栏添加多个控件。我们尝试给主对话框创建一个工具栏控件,并给其添加几个按钮控件。
  代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from PySide2.QtWidgets import QApplication, QMainWindow, QToolBar, QPushButton
from PySide2.QtGui import QIcon

app = QApplication([])

MainWindow = QMainWindow()

Icon = QIcon(".\png\Icon.ico")

PushButton1 = QPushButton(MainWindow)
PushButton1.setIcon(Icon)
PushButton2 = QPushButton(MainWindow)
PushButton2.setIcon(Icon)
PushButton3 = QPushButton(MainWindow)
PushButton3.setText("初始文本")

ToolBar = MainWindow.addToolBar("Tool Bar")
ToolBar.addWidget(PushButton1)
ToolBar.addWidget(PushButton2)
ToolBar.addWidget(PushButton3)

MainWindow.show()
app.exec_()

  运行结果:

QToolBar.gif

  默认的工具栏是可拖动的,可以将其拖至窗口的上下左右位置,也支持浮动,即可以拖动到窗口外悬停。

1.2 工具栏的其他控制

  我们除了可以给工具栏里添加QPushButton控件外,还可以直接添加QAction作为按钮使用,可以添加QLineEdit控件等。我们可以通过设置禁用其拖动和浮动功能。可以设置鼠标悬停时的提示信息。
  代码示例:

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
from PySide2.QtWidgets import QApplication, QMainWindow, QToolBar, QPushButton, QAction, QLineEdit
from PySide2.QtGui import QIcon

app = QApplication([])

MainWindow = QMainWindow()
MainWindow.resize(400, 200)

Icon = QIcon(".\png\Icon.ico")

PushButton1 = QPushButton(MainWindow)
PushButton1.setIcon(Icon)
PushButton1.setToolTip("PushButton Tip") #设置PushButton作为按钮时的提示信息
PushButton2 = QPushButton(MainWindow)
PushButton2.setText("初始文本")

Action1 = QAction()
Action1.setIcon(Icon)
Action2 = QAction("Action")

LineEdit = QLineEdit("常作为搜索框")

ToolBar = MainWindow.addToolBar("Tool Bar")
ToolBar.setFloatable(False) #禁用浮动
ToolBar.setMovable(False) #禁用移动
ToolBar.setToolTip("ToolBar Tip") #工具栏提示信息
ToolBar.addWidget(PushButton1) #工具栏添加按钮
ToolBar.addWidget(PushButton2)
ToolBar.addAction(Action1) #工具栏添加Action
ToolBar.addAction(Action2)
ToolBar.addWidget(LineEdit)

MainWindow.show()
app.exec_()

  运行结果:

Other.gif

2 状态栏

2.1 创建状态栏

  状态栏的使用也是类似的,可以给其添加控件。
  代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from PySide2.QtWidgets import QApplication, QMainWindow, QStatusBar, QLabel, QPushButton, QLineEdit

app = QApplication([])

MainWindow = QMainWindow()
MainWindow.resize(400, 200)

Label = QLabel("初始文本", MainWindow)

PushBUtton = QPushButton("按钮", MainWindow)

LineEdit = QLineEdit("初始文本", MainWindow)

StatusBar = QStatusBar(MainWindow)
StatusBar.move(0, 170) #设置到窗口底部显示
StatusBar.resize(400, 30)
StatusBar.addWidget(Label) #把空间添加到左侧
StatusBar.addWidget(PushBUtton)
StatusBar.addPermanentWidget(LineEdit) #把空间添加到右侧

MainWindow.show()
app.exec_()

  运行结果:

QStatusBar.png

2.2 状态栏的其他运用

  我们尝试给状态栏添加QPushButtonQLineEditQLabel。给状态栏添加鼠标悬浮提示信息。
  代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from PySide2.QtWidgets import QApplication, QMainWindow, QStatusBar, QLabel, QPushButton, QLineEdit

app = QApplication([])

MainWindow = QMainWindow()
MainWindow.resize(400, 200)

Label = QLabel("StatusBar Tip", MainWindow)

PushBUtton = QPushButton("按钮", MainWindow)

LineEdit = QLineEdit("初始文本", MainWindow)

StatusBar = QStatusBar(MainWindow)
StatusBar.move(0, 170) #设置到窗口底部显示
StatusBar.resize(400, 30)
StatusBar.setSizeGripEnabled(False) #禁用状态栏右下角的三角大小控制点
StatusBar.setToolTip("StatusBar Tip") #设置状态栏提示信息
StatusBar.addWidget(Label) #把空间添加到左侧
StatusBar.addWidget(PushBUtton)
StatusBar.addPermanentWidget(LineEdit) #把空间添加到右侧

MainWindow.show()
app.exec_()

  运行结果:

Other2.gif

2 状态栏

2.1 创建状态栏

  状态栏的使用也是类似的,可以给其添加控件。
  代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from PySide2.QtWidgets import QApplication, QMainWindow, QStatusBar, QLabel, QPushButton, QLineEdit

app = QApplication([])

MainWindow = QMainWindow()
MainWindow.resize(400, 200)

Label = QLabel("初始文本", MainWindow)

PushBUtton = QPushButton("按钮", MainWindow)

LineEdit = QLineEdit("初始文本", MainWindow)

StatusBar = QStatusBar(MainWindow)
StatusBar.move(0, 170) #设置到窗口底部显示
StatusBar.resize(400, 30)
StatusBar.addWidget(Label) #把空间添加到左侧
StatusBar.addWidget(PushBUtton)
StatusBar.addPermanentWidget(LineEdit) #把空间添加到右侧

MainWindow.show()
app.exec_()

  运行结果:

PySide2基础篇(十三)——QToolBar和QStatusBar运用

前言:
阅读这篇文章我能学到什么?
  前面降到了对话框的菜单栏,这篇继续讲对话框的工具栏和状态栏。它们也是设计对话框程序较常用的控件,想想我们用的IDE界面就能明白它们的重要性。

1 工具栏

1.1 创建工具栏

  工具栏就像菜单栏那样,它也是对多个控件组合的控件。我们可以给工具栏添加多个控件。我们尝试给主对话框创建一个工具栏控件,并给其添加几个按钮控件。
  代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from PySide2.QtWidgets import QApplication, QMainWindow, QToolBar, QPushButton
from PySide2.QtGui import QIcon

app = QApplication([])

MainWindow = QMainWindow()

Icon = QIcon(".\png\Icon.ico")

PushButton1 = QPushButton(MainWindow)
PushButton1.setIcon(Icon)
PushButton2 = QPushButton(MainWindow)
PushButton2.setIcon(Icon)
PushButton3 = QPushButton(MainWindow)
PushButton3.setText("初始文本")

ToolBar = MainWindow.addToolBar("Tool Bar")
ToolBar.addWidget(PushButton1)
ToolBar.addWidget(PushButton2)
ToolBar.addWidget(PushButton3)

MainWindow.show()
app.exec_()

  运行结果:

QToolBar.gif

  默认的工具栏是可拖动的,可以将其拖至窗口的上下左右位置,也支持浮动,即可以拖动到窗口外悬停。

1.2 工具栏的其他控制

  我们除了可以给工具栏里添加QPushButton控件外,还可以直接添加QAction作为按钮使用,可以添加QLineEdit控件等。我们可以通过设置禁用其拖动和浮动功能。可以设置鼠标悬停时的提示信息。
  代码示例:

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
from PySide2.QtWidgets import QApplication, QMainWindow, QToolBar, QPushButton, QAction, QLineEdit
from PySide2.QtGui import QIcon

app = QApplication([])

MainWindow = QMainWindow()
MainWindow.resize(400, 200)

Icon = QIcon(".\png\Icon.ico")

PushButton1 = QPushButton(MainWindow)
PushButton1.setIcon(Icon)
PushButton1.setToolTip("PushButton Tip") #设置PushButton作为按钮时的提示信息
PushButton2 = QPushButton(MainWindow)
PushButton2.setText("初始文本")

Action1 = QAction()
Action1.setIcon(Icon)
Action2 = QAction("Action")

LineEdit = QLineEdit("常作为搜索框")

ToolBar = MainWindow.addToolBar("Tool Bar")
ToolBar.setFloatable(False) #禁用浮动
ToolBar.setMovable(False) #禁用移动
ToolBar.setToolTip("ToolBar Tip") #工具栏提示信息
ToolBar.addWidget(PushButton1) #工具栏添加按钮
ToolBar.addWidget(PushButton2)
ToolBar.addAction(Action1) #工具栏添加Action
ToolBar.addAction(Action2)
ToolBar.addWidget(LineEdit)

MainWindow.show()
app.exec_()

  运行结果:

Other.gif

2 状态栏

2.1 创建状态栏

  状态栏的使用也是类似的,可以给其添加控件。
  代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from PySide2.QtWidgets import QApplication, QMainWindow, QStatusBar, QLabel, QPushButton, QLineEdit

app = QApplication([])

MainWindow = QMainWindow()
MainWindow.resize(400, 200)

Label = QLabel("初始文本", MainWindow)

PushBUtton = QPushButton("按钮", MainWindow)

LineEdit = QLineEdit("初始文本", MainWindow)

StatusBar = QStatusBar(MainWindow)
StatusBar.move(0, 170) #设置到窗口底部显示
StatusBar.resize(400, 30)
StatusBar.addWidget(Label) #把空间添加到左侧
StatusBar.addWidget(PushBUtton)
StatusBar.addPermanentWidget(LineEdit) #把空间添加到右侧

MainWindow.show()
app.exec_()

  运行结果:

QStatusBar.png

2.2 状态栏的其他运用

  我们尝试给状态栏添加QPushButtonQLineEditQLabel。给状态栏添加鼠标悬浮提示信息。
  代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from PySide2.QtWidgets import QApplication, QMainWindow, QStatusBar, QLabel, QPushButton, QLineEdit

app = QApplication([])

MainWindow = QMainWindow()
MainWindow.resize(400, 200)

Label = QLabel("StatusBar Tip", MainWindow)

PushBUtton = QPushButton("按钮", MainWindow)

LineEdit = QLineEdit("初始文本", MainWindow)

StatusBar = QStatusBar(MainWindow)
StatusBar.move(0, 170) #设置到窗口底部显示
StatusBar.resize(400, 30)
StatusBar.setSizeGripEnabled(False) #禁用状态栏右下角的三角大小控制点
StatusBar.setToolTip("StatusBar Tip") #设置状态栏提示信息
StatusBar.addWidget(Label) #把空间添加到左侧
StatusBar.addWidget(PushBUtton)
StatusBar.addPermanentWidget(LineEdit) #把空间添加到右侧

MainWindow.show()
app.exec_()

  运行结果:

Other2.gif

2.2 状态栏的其他运用

  我们尝试给状态栏添加QPushButtonQLineEditQLabel。给状态栏添加鼠标悬浮提示信息。
  代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from PySide2.QtWidgets import QApplication, QMainWindow, QStatusBar, QLabel, QPushButton, QLineEdit

app = QApplication([])

MainWindow = QMainWindow()
MainWindow.resize(400, 200)

Label = QLabel("StatusBar Tip", MainWindow)

PushBUtton = QPushButton("按钮", MainWindow)

LineEdit = QLineEdit("初始文本", MainWindow)

StatusBar = QStatusBar(MainWindow)
StatusBar.move(0, 170) #设置到窗口底部显示
StatusBar.resize(400, 30)
StatusBar.setSizeGripEnabled(False) #禁用状态栏右下角的三角大小控制点
StatusBar.setToolTip("StatusBar Tip") #设置状态栏提示信息
StatusBar.addWidget(Label) #把空间添加到左侧
StatusBar.addWidget(PushBUtton)
StatusBar.addPermanentWidget(LineEdit) #把空间添加到右侧

MainWindow.show()
app.exec_()

  运行结果:

PySide2基础篇(十三)——QToolBar和QStatusBar运用

前言:
阅读这篇文章我能学到什么?
  前面降到了对话框的菜单栏,这篇继续讲对话框的工具栏和状态栏。它们也是设计对话框程序较常用的控件,想想我们用的IDE界面就能明白它们的重要性。

1 工具栏

1.1 创建工具栏

  工具栏就像菜单栏那样,它也是对多个控件组合的控件。我们可以给工具栏添加多个控件。我们尝试给主对话框创建一个工具栏控件,并给其添加几个按钮控件。
  代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from PySide2.QtWidgets import QApplication, QMainWindow, QToolBar, QPushButton
from PySide2.QtGui import QIcon

app = QApplication([])

MainWindow = QMainWindow()

Icon = QIcon(".\png\Icon.ico")

PushButton1 = QPushButton(MainWindow)
PushButton1.setIcon(Icon)
PushButton2 = QPushButton(MainWindow)
PushButton2.setIcon(Icon)
PushButton3 = QPushButton(MainWindow)
PushButton3.setText("初始文本")

ToolBar = MainWindow.addToolBar("Tool Bar")
ToolBar.addWidget(PushButton1)
ToolBar.addWidget(PushButton2)
ToolBar.addWidget(PushButton3)

MainWindow.show()
app.exec_()

  运行结果:

QToolBar.gif

  默认的工具栏是可拖动的,可以将其拖至窗口的上下左右位置,也支持浮动,即可以拖动到窗口外悬停。

1.2 工具栏的其他控制

  我们除了可以给工具栏里添加QPushButton控件外,还可以直接添加QAction作为按钮使用,可以添加QLineEdit控件等。我们可以通过设置禁用其拖动和浮动功能。可以设置鼠标悬停时的提示信息。
  代码示例:

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
from PySide2.QtWidgets import QApplication, QMainWindow, QToolBar, QPushButton, QAction, QLineEdit
from PySide2.QtGui import QIcon

app = QApplication([])

MainWindow = QMainWindow()
MainWindow.resize(400, 200)

Icon = QIcon(".\png\Icon.ico")

PushButton1 = QPushButton(MainWindow)
PushButton1.setIcon(Icon)
PushButton1.setToolTip("PushButton Tip") #设置PushButton作为按钮时的提示信息
PushButton2 = QPushButton(MainWindow)
PushButton2.setText("初始文本")

Action1 = QAction()
Action1.setIcon(Icon)
Action2 = QAction("Action")

LineEdit = QLineEdit("常作为搜索框")

ToolBar = MainWindow.addToolBar("Tool Bar")
ToolBar.setFloatable(False) #禁用浮动
ToolBar.setMovable(False) #禁用移动
ToolBar.setToolTip("ToolBar Tip") #工具栏提示信息
ToolBar.addWidget(PushButton1) #工具栏添加按钮
ToolBar.addWidget(PushButton2)
ToolBar.addAction(Action1) #工具栏添加Action
ToolBar.addAction(Action2)
ToolBar.addWidget(LineEdit)

MainWindow.show()
app.exec_()

  运行结果:

Other.gif

2 状态栏

2.1 创建状态栏

  状态栏的使用也是类似的,可以给其添加控件。
  代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from PySide2.QtWidgets import QApplication, QMainWindow, QStatusBar, QLabel, QPushButton, QLineEdit

app = QApplication([])

MainWindow = QMainWindow()
MainWindow.resize(400, 200)

Label = QLabel("初始文本", MainWindow)

PushBUtton = QPushButton("按钮", MainWindow)

LineEdit = QLineEdit("初始文本", MainWindow)

StatusBar = QStatusBar(MainWindow)
StatusBar.move(0, 170) #设置到窗口底部显示
StatusBar.resize(400, 30)
StatusBar.addWidget(Label) #把空间添加到左侧
StatusBar.addWidget(PushBUtton)
StatusBar.addPermanentWidget(LineEdit) #把空间添加到右侧

MainWindow.show()
app.exec_()

  运行结果:

QStatusBar.png

2.2 状态栏的其他运用

  我们尝试给状态栏添加QPushButtonQLineEditQLabel。给状态栏添加鼠标悬浮提示信息。
  代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from PySide2.QtWidgets import QApplication, QMainWindow, QStatusBar, QLabel, QPushButton, QLineEdit

app = QApplication([])

MainWindow = QMainWindow()
MainWindow.resize(400, 200)

Label = QLabel("StatusBar Tip", MainWindow)

PushBUtton = QPushButton("按钮", MainWindow)

LineEdit = QLineEdit("初始文本", MainWindow)

StatusBar = QStatusBar(MainWindow)
StatusBar.move(0, 170) #设置到窗口底部显示
StatusBar.resize(400, 30)
StatusBar.setSizeGripEnabled(False) #禁用状态栏右下角的三角大小控制点
StatusBar.setToolTip("StatusBar Tip") #设置状态栏提示信息
StatusBar.addWidget(Label) #把空间添加到左侧
StatusBar.addWidget(PushBUtton)
StatusBar.addPermanentWidget(LineEdit) #把空间添加到右侧

MainWindow.show()
app.exec_()

  运行结果:

Other2.gif