网站建设政府采购产品推广方式有哪些
文章目录
- 一、菜单栏布局与事件绑定
- 1.1 一级菜单栏
- 1.2 多级菜单栏
- 1.3 菜单栏属性
- 二、工具栏布局
- 2.1 工具栏布局(左中右布局)
- 2.2 工具栏属性
- 三、主体布局(水平、垂直、网格、嵌套)
- 3.1 水平布局(QHBoxLayout)
- 3.2 垂直布局(QVBoxLayout)
- 3.3 网格布局(QGridLayout)
- 3.4 嵌套布局(三种布局嵌套)
- 四、状态栏
- 五、界面布局
- 5.1 大小策略(拉升时控件动态行为)
- 5.2 空白间距
- 5.3 拉伸因子(控件拉升空间分配)
- 5.4 对齐方式(控件、布局)
- 5.5 控件间距、边距、布局方向、布局比例
PyQt 提供了丰富的布局管理器和美化操作,可以帮助开发者轻松创建复杂的用户界面。通过合理使用布局管理器、拉伸因子、对齐方式、间距设置等功能,可以设计出美观且功能强大的应用程序界面。
一、菜单栏布局与事件绑定
1.1 一级菜单栏
# self为QMainWindow的窗口否则使用QMainWindow对应的对象MainWindw.menuBar()
self.MenuBar = MainWindw.menuBar() # MainWindw.menuBar()
# File
self.FileMenu = self.MenuBar.addMenu("File")
# File -> Open
self.OpenFile = QAction("Open", self)
self.FileMenu.addAction(self.OpenFile)
# File -> Close
self.CloseFile = QAction("Close", self)
self.FileMenu.addAction(self.CloseFile)
1.2 多级菜单栏
self.MenuBar = MainWindw.menuBar() # MainWindw.menuBar()
# File
self.SaveMenu = self.MenuBar.addMenu("File")
# File -> Save
self.SaveFile = self.SaveMenu.addMenu("Save")
# File -> Save -> Save txt
self.SaveTxt = QAction("Save txt", self)
self.SaveFile.addAction(self.SaveTxt)
# File -> Exit
self.Exit = QAction("Exit", self)
self.SaveMenu.addAction(self.Exit)
1.3 菜单栏属性
self.MenuBar = MainWindw.menuBar() # MainWindw.menuBar()
# 设置菜单栏宽度
self.MenuBar.setStyleSheet("QMenuBar {width: 100px;}")
# 获取菜单
for action in self.MenuBar.actions():print(action.text())self.FileMenu = self.MenuBar.addMenu("File")
self.Close = QAction("Close", self)
# 菜单栏事件绑定
self.Close.triggered.connect(self.close)
# 设置图标
self.Close.setIcon("icon.png")
# 添加快捷键
self.Close.setShortcut("Ctrl+S")
# 设置字体
font = QtGui.QFont('Arial', 10)
self.Close.setFont(font)
# 设置气泡
self.Close.setToolTip("Close")
self.FileMenu.addAction(self.Close)
实例
import sys
from PyQt5 import QtCore, QtWidgets
from PyQt5.QtWidgets import QAction# UI代码
class Ui_Form(object):def setupUi(self, MainWindw):MainWindw.setObjectName("Form")MainWindw.resize(300, 200)self.MenuBar = MainWindw.menuBar()# 一级菜单栏self.FileMenu = self.MenuBar.addMenu("File")self.OpenFile = QAction("Open", self)self.FileMenu.addAction(self.OpenFile)self.FileMenu.addSeparator() # 添加分隔线self.CloseFile = QAction("Close", self)self.FileMenu.addAction(self.CloseFile)# 多层菜单栏self.SaveMenu = self.MenuBar.addMenu("Save") # 菜单栏self.SaveFile = self.SaveMenu.addMenu("Save") # 一级菜单栏self.SaveTxt = QAction("Save txt", self) # 二级菜单栏self.SaveFile.addAction(self