pyqt5-布局管理入门-信号和槽关联-菜单与工具栏-打包资源文件

简介: pyqt5-布局管理入门-信号和槽关联-菜单与工具栏-打包资源文件

Qt Designer 提供四种窗口布局方式

  • 1.Vertical Layot(垂直布局)
  • 2.Horizontal Layout(水平布局)
  • 3.Grid Layout(栅格布局)
  • 4.Form Layout(表单布局)
    以上四种布局位于QtDesigner主窗口左侧区域的Widget Box工具箱的layouts中

垂直布局:控件默认按照从上到下的顺序进行纵向添加。

水平布局:控件默认按照从左向右的顺序进行横向添加。

栅格布局:将窗口放入到一个网格中,然后将他们合理的划分成若干行row 和列column 并把其中的每个窗口放置在合适的单元cell中,这里的单元就是行和列交叉划分出的空间。

表单布局:控件以两列的形式布局在表单中,其中左列包含标签,右列包含输入控件。

一般布局有两种方式:

1.通过布局管理器进行布局

2.通过容器控件进行布局

布局管理器布局

直接从QtDesigner 左侧拉去布局方式进去窗体 然后给窗体赋值(控件或窗体)

菜单与工具栏

import sys
from PyQt5.QtWidgets import QApplication,QMainWindow,QWidget,QFileDialog
from MainWindow352 import Ui_MainWindow
from childrenform2 import Ui_Form
class MainWin(QMainWindow,Ui_MainWindow):
def __init__(self,parent=None):
super(MainWin,self).__init__(parent)
        self.setupUi(self)
#
        self.Child = ChildForm()
        self.fileCloseAction.triggered.connect(self.close)
        self.fileOpenAction.triggered.connect(self.openMsg)
        self.addAction.triggered.connect(self.CHildShow)
def CHildShow(self):
        self.MaingridLayout.addWidget(self.Child)
        self.Child.show()
def openMsg(self):
        file,ok = QFileDialog.getOpenFileName(self,"打开","c:/","All Files (*);;Text Fiels (*.txt)")
        self.statusBar.showMessage(file)
class ChildForm(QWidget,Ui_Form):
def __init__(self,parent=None):
super(ChildForm,self).__init__(parent)
        self.setupUi(self)
if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = MainWin()
    win.show()
    sys.exit(app.exec_())

点击添加窗体之后结果如下

打包资源文件

新建窗体MainWin361.ui 如下图

然后在项目目录下创建(直接创建文本文件)apprcc.qrc

找到资源管理器-按照如下操作

再次查看qrc文件已经被修改了

在窗体中使用资源文件

在Display Widgets栏中找到Label控件拖到窗体Form中间并选中它,然后找到对应的属性编辑器找到pixmap属性,单击其后面的按钮,把它的值改为资源文件中的一张图片

然后使用如下命令将rcc文件转换成py文件

pyrcc5 apprcc.qrc -o apprcc_rc.py

import sys
from PyQt5.QtWidgets import QApplication,QMainWindow
from MainWin361 import Ui_MainWindow
class MyMainWin361(QMainWindow,Ui_MainWindow):
def __init__(self,parent=None):
super(MyMainWin361,self).__init__(parent)
        self.setupUi(self)
if __name__ == "__main__":
    app = QApplication(sys.argv)
    myWin = MyMainWin361()
    myWin.show()
    sys.exit(app.exec_())

运行结果如下

目录
相关文章
|
计算机视觉 容器
Qt实用技巧:在Qt Gui程序中嵌入qml界面(可动态覆盖整个窗口)
Qt实用技巧:在Qt Gui程序中嵌入qml界面(可动态覆盖整个窗口)
Qt实用技巧:在Qt Gui程序中嵌入qml界面(可动态覆盖整个窗口)
|
2月前
|
索引
pyqt5界面化开发---抽屉布局界面的开发
pyqt5界面化开发---抽屉布局界面的开发
|
7月前
Qt6自定义QML控件的方式
Qt6自定义QML控件的方式
186 1
|
编解码 前端开发 图形学
Unity 用脚本操作常用UI控件(上)
Unity 用脚本操作常用UI控件(上)
170 0
|
C++ Windows
Qt-QML-Popup,弹层界面编写
随着接触Qt的时间的增加,也逐渐的发现了Qt 的一些不人信话的一些地方,不由的想起一句话,也不知道是在哪里看到的了“一切变成语言都是垃圾,就C++还可以凑合用”大致意思是这样。最近项目的祝界面框架都基本写完了,那自我感觉良好,感觉自己QML的不得了了,全部用的都是自己YY出来的空间,今天小伙伴在同伴代码后,用到了我的模块,给我说了一个BUG,
541 0
Qt-QML-Popup,弹层界面编写
QT应用编程: 鼠标拖动文件到应用程序窗口
QT应用编程: 鼠标拖动文件到应用程序窗口
327 0
QT应用编程: 鼠标拖动文件到应用程序窗口
PyQt5 图形界面 - Qt Designer创建qrc资源文件引用图片资源实例演示,QTextBrower组件引用图片资源方法展示
PyQt5 图形界面 - Qt Designer创建qrc资源文件引用图片资源实例演示,QTextBrower组件引用图片资源方法展示
460 0
PyQt5 图形界面 - Qt Designer创建qrc资源文件引用图片资源实例演示,QTextBrower组件引用图片资源方法展示
Qt-第一个QML程序-3-自定义一个按钮
项目基本信息前两个已经说了,这里直接放下运行截图,
196 0
Qt-第一个QML程序-3-自定义一个按钮
|
前端开发 索引
Qt自定义界面类并提升(提升的窗口部件)
Qt自定义界面类并提升(提升的窗口部件)
1383 0
Qt自定义界面类并提升(提升的窗口部件)