PyQt5中的QtDesigner窗口

1. 简介

Qt Designer 是 PyQt5 中的一款可视化界面设计工具,它允许用户通过拖放部件来设计 GUI 界面,并生成相应的代码。QtDesigner的窗口区域如下所示

在这里插入图片描述

2. QtDesigner的MainWindow

主窗口是 Qt Designer 的主界面,包含了工具栏、菜单栏、状态栏等。你可以在主窗口中打开、保存、关闭界面设计文件,以及预览和测试界面效果。

2.1 创建MainWindow

通过Pycharms我们可以打开QtDesigner, Tools ->External Tools->QtDesigner, 如下,我们可以创建一个MainWindow,

在这里插入图片描述

2.2 添加组件

在这个窗口中,我们可以添加Label和Line edit, Label的文本改为“用户名”,如下所示

在这里插入图片描述

继续添加Label和Line edit, 这个Label改名为密码,并且新增一个Push Button, 改名为登录按钮,这样我们就建立起下面这个界面了。

在这里插入图片描述

2.3 预览

在窗口预览里,我们可以有几种不同风格的预览,如下所示

这里我们直接用ctrl+R预览结果如下,
在这里插入图片描述

2.4 查看对应的Python代码

在这里插入图片描述

结果如下,这些代码是可以直接复制运行的。

在这里插入图片描述

2.5 保存窗口并命名为login.ui,如下所示

在这里插入图片描述

2.6对ui文件进行转换得到.py原件

对login.ui文件用PyUIC转换为对应的.py文件,这个.py文件就会生成在我们同级目录下,如下所示

在这里插入图片描述

打开这个login.py 文件,我们是并不能直接运行得到窗口的,需要提供一个入口,如下所示

在这里插入图片描述

这样我们就可以运行得到如下结果

在这里插入图片描述

上面增加的代码如下

if __name__ == "__main__":
    # 导入 sys 模块,用于处理命令行参数和退出应用程序
    import sys

    # 创建一个 QApplication 实例,这是 PyQt 应用程序的主对象
    app = QtWidgets.QApplication(sys.argv)
    # 创建一个 QMainWindow 实例,这是应用程序的主窗口
    MainWindow = QtWidgets.QMainWindow()
    # 创建一个 Ui_MainWindow 实例,这是用于设计主窗口界面的类
    ui = Ui_MainWindow()
    # 调用 Ui_MainWindow 类中的 setupUi() 方法,将主窗口设置为设计的界面
    ui.setupUi(MainWindow)
    # 显示主窗口
    MainWindow.show()
    # 进入主循环,等待事件的发生,直到应用程序被关闭
    sys.exit(app.exec_())

3. 窗口常用属性及说明

3.1 设置对象名称

可以在属性编辑器里改变objectName的值,如下所示

在这里插入图片描述

也可以将保存后的程序,用PyUIC产生的.py文件里,用.setObjectName()的方法来改名字

在这里插入图片描述

3.2 改变标题名字

在属性里改变windowTitle的值,如下所示

在这里插入图片描述

这里我们改成如下title

在这里插入图片描述

也可以在.py文件中改title,可以用.setWindowTitle()方法,如下所示

在这里插入图片描述

改了title后,再运行有就会有结果(注意:这里.py文件依然要加上login文件里的程序入口,才能运行出结果),如下所示

在这里插入图片描述

这里我也给出修改和增加后的程序

    def retranslateUi(self, test):
        _translate = QtCore.QCoreApplication.translate
        test.setWindowTitle("This is demo")

if __name__ == "__main__":
    # 导入 sys 模块,用于处理命令行参数和退出应用程序
    import sys

    # 创建一个 QApplication 实例,这是 PyQt 应用程序的主对象
    app = QtWidgets.QApplication(sys.argv)
    # 创建一个 QMainWindow 实例,这是应用程序的主窗口
    MainWindow = QtWidgets.QMainWindow()
    # 创建一个 Ui_test 实例,这是用于设计主窗口界面的类
    ui = Ui_test()
    # 调用 Ui_test 类中的 setupUi() 方法,将主窗口设置为设计的界面
    ui.setupUi(MainWindow)
    # 显示主窗口
    MainWindow.show()
    # 进入主循环,等待事件的发生,直到应用程序被关闭
    sys.exit(app.exec_())

3.3 修改窗口大小

修改窗口大小,可以在属性窗口里用geometry属性,在代码里可用resize()方法,如下所示

在这里插入图片描述

在这里插入图片描述

4. 更改窗口的图标

一般创建窗口自带的图标如下所示

在这里插入图片描述

我们可以在属性里更改windowIcon属性,或者在代码里用setWindowIcon()方法更改,如下所示。注:这里图标要根据自己放置图标的路径去选择。

在这里插入图片描述

修改后,预览crtl+R是可以看到修改后的效果的。
代码里更改窗口图标如下

在这里插入图片描述

这里修改Icon的代码如下

# 创建 QIcon 实例
icon = QtGui.QIcon()
# 添加图片到 QIcon 实例中,使用 './favicon.ico' 文件作为图标路径 注:这里图标路径根据自己情况去选
icon.addPixmap(QtGui.QPixmap('./favicon.ico'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
# 将图标设置为窗口的图标
test.setWindowIcon(icon)

然后运行,结果如下

在这里插入图片描述

5. 窗口的背景

5.1 用.setStyleSheet在代码里设置

改变背景颜色可以用如下格式,

在这里插入图片描述

改背景图片可以用如下格式

在这里插入图片描述

注:这里背景图片的路径根据你自己的实际情况指定

5.2 用QPalette这个类进行更改背景颜色和背景图片

改变背景颜色

在这里插入图片描述

注:这里要在开头引入Qt这个类,即

from PyQt5.QtCore import Qt

改变背景图片
在这里插入图片描述

注:这里要在开头引入QBrush, QPixmap类,即

from PyQt5.QtGui import QBrush, QPixmap

我们可以进一步让图片自适配窗口大小

在这里插入图片描述

程序如下:

# 使用scaled()方法将图片缩放到窗口的大小
        palette.setBrush(test.backgroundRole(),
                         QBrush(QPixmap('./cat.jpg').scaled(test.size(),
                        QtCore.Qt.IgnoreAspectRatio, QtCore.Qt.SmoothTransformation)))

5.3 通过资源浏览器进行设置

过程如下:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这样我们就可以把背景图片加上去了,保存后,可以用PyUIC将.ui转换为.py文件,转换为.py文件后,我们就会多一个.qrc文件,如果不把这个qrc文件转化为.py文件,我们就没法正常运行程序,这里就需要用到Pyrcc,在tools–>external tools–>Pyrcc里对img.qrc文件处理,得到img_rc.py文件。之后我们就可以运行test.py文件了

在这里插入图片描述

在这里插入图片描述

6.设置窗口透明度

在属性里windowOpacity里设置,或者在代码里setWindowOpacity()方法设置

在这里插入图片描述

改为0.5后,预览就变成半透明了,这个值可以在0到1之间修改,0代表完成透明,1代表完全不透明。

在代码里就用一个命令就可以

在这里插入图片描述

7.控制窗口样式

用.setWindowFlags()来设置窗口样式,默认的是如下的样式

在这里插入图片描述

在这里插入图片描述

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
PyQt5QT Designer是一个可视化工具,它可以帮助你设计和创建PyQt5应用程序的用户界面。它允许你通过拖放操作添加和布局各种控件,设置属性和信号槽等。 要使用QT Designer,首先确保你已经安装了PyQt5库。然后,你可以在命令行输入`designer`命令来启动QT Designer界面。 在QT Designer,你可以选择不同的布局和控件,如按钮、文本框、标签等,并将它们拖放到设计区域。然后,你可以调整它们的大小和位置,并设置它们的属性,例如文本内容、字体样式、背景颜色等。 在设计界面完成后,你可以将其导出为一个.ui文件。这个文件包含了你设计的界面的描述信息。然后,你可以使用PyQt5的uic模块将.ui文件转换为Python代码,并在你的应用程序使用它。 以下是一个简单的示例代码,演示如何使用QT Designer创建一个带有按钮的窗口: ```python from PyQt5.QtWidgets import QApplication, QMainWindow from PyQt5 import uic class MyWindow(QMainWindow): def __init__(self): super().__init__() uic.loadUi('mywindow.ui', self) self.button.clicked.connect(self.on_button_clicked) def on_button_clicked(self): print("Button clicked!") if __name__ == '__main__': app = QApplication([]) window = MyWindow() window.show() app.exec() ``` 在这个示例,`uic.loadUi('mywindow.ui', self)`将加载名为`mywindow.ui`的界面文件,并将其应用到`MyWindow`类的实例上。然后,我们连接按钮的`clicked`信号到`on_button_clicked`槽函数,当按钮被点击时,会调用该函数。 希望这能帮助到你开始使用PyQt5QT Designer!如有更多问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xy_optics

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值