您的位置:首页 > 财经 > 产业 > 网址导航下载到桌面_室内设计公司取名字大全集_樱桃磁力bt天堂_销售新手怎么找客源

网址导航下载到桌面_室内设计公司取名字大全集_樱桃磁力bt天堂_销售新手怎么找客源

2025/1/8 19:22:26 来源:https://blog.csdn.net/xulibo5828/article/details/144945539  浏览:    关键词:网址导航下载到桌面_室内设计公司取名字大全集_樱桃磁力bt天堂_销售新手怎么找客源
网址导航下载到桌面_室内设计公司取名字大全集_樱桃磁力bt天堂_销售新手怎么找客源

开始设计和组态画面。

        •  关于背景和配色

        在组态画面之前,先要确定好画面的风格和色系。如果有前端经验和美术功底,可以建立自己的配色体系。像我这种工科男,就只能从网络上下载一些别人做好的优秀界面,然后在photo shop中抠取色号作为界面的颜色库。必须注意的一点,做工程不是搞艺术,千万不要过多加入私人的和个性的元素,比如把图标和背景搞成自己喜欢的动漫人物之类的,因为这样极大概率会引起客户的反感,认为作者轻视项目和审美自私,对客户缺乏应有的尊重。

        配色的一些基础知识文章推荐:UI设计界面配色指南,以及UI设计色彩应用规范

        •  画面组件的伸展特性      

        作为一个软件界面,它的另一个必备特性是对显示屏幕分辨率的自动适配能力,我们不太可能让客户只能使用与我们的编程电脑相同分辨率的显示器。一般来讲,界面软件会对显示屏幕有一个最低分辨率的要求,只要显示屏幕高于最低分辨率都应该能够自动适配并正常显示。这样,界面上的有些区域就要具备自动缩放的属性,比如图片显示区。另外一些区域,比如按钮站,它的大小是固定的,不随屏幕分辨率和界面尺寸变化而变化。

下面来完善一下项目的文件框架,并开始组态。

一、在designer中新建QWidget画面,命名为form1.ui,保存在项目的/uis目录下。在画面上放置一个QLabel,一个QPuchButton,分别命名为label_1和btn_1。

二、使用pyuic工具将form1.ui文件转为form1.py文件。并且新建了一些目录和文件,当前的目录结构如下:

functions目录:存放功能函数

ui_project.py:项目级别的一个脚本,所有的对于ui项目而言的全局信号和变量都在这个脚本内定义。

form1.ui:在designer中布局和设计的界面文件。可以理解为界面的图形文件。

form1.py:由form1.ui经uis工具转换而来的py文件。可以理解为界面的前端文件。

form1_func.py:在form1.py基础上增加了功能和信号的py文件。可以理解为界面的后端和功能文件。

main.py:主函数。

uis目录下的__init__.py文件,这个文件的代码如下:

__all__ = ["form1_func"]   # 用于控制哪些模块被导出

        这行代码控制了当在别的地方使用“from uis import *”调用uis这个包时,哪些模块被导入,哪些模块不被导入。

三、各个脚本的代码:

        1、form1_func.py:

from PySide6.QtCore import Slot
from PySide6.QtWidgets import QWidgetfrom . import form1   # 导入使用uis工具从form1.ui生成而来的form1.py文件
from functions.ui_project import uiproj    # 导入全局的ui项目对象# 定义窗口类
class Form1(QWidget, form1.Ui_Form):def __init__(self):super().__init__()self.setupUi(self)   # 加载窗口self.run()   # 初始化运行窗口def run(self):   # 窗口的运行函数self.show()  # 显示窗口@Slot()def date_show(t):  # 显示日期的槽函数self.label_1.setText(t)  # 设置label_1的文本uiproj.date_signal.connect(date_show)  # 连接日期信号@Slot()def on_btn_1_clicked():  # 按钮1点击事件连接的槽函数self.label_1.setText("local clicked")  # 设置label_1的文本self.btn_1.clicked.connect(on_btn_1_clicked)  # 按钮1点击事件连接槽函数

        2、ui_project.py:

# 这里定义项目级别的信号和变量、参数等
import timefrom PySide6.QtCore import Signal, QObject, QTimer# 定义全局的ui项目类
class UiProj(QObject):# 定义全局信号date_signal = Signal(str)   # 全局的日期信号def __init__(self):super(UiProj, self).__init__()self.time_str = ""   # 全局的日期变量self.timer = QTimer()    # 定义全局定时器        @Slot()# 刷新日期def refresh_time(self):self.time_str = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())     # 刷新日期变量self.date_signal.emit(self.time_str)     # 发送信号uiproj = UiProj()   # 生成全局的ui项目对象

        3 、main.py:

import sysfrom PySide6.QtCore import Signal, QObject
from PySide6.QtWidgets import QApplication
from gui.uis import *  # 导入所有窗口类from functions.ui_project import uiprojdef main():app = QApplication(sys.argv)form1 = form1_func.Form1()  # 实例化窗口类uiproj.timer.start(1000)  # 启动全局定时器uiproj.timer.timeout.connect(uiproj.refresh_time)  # 连接定时器的超时信号sys.exit(app.exec())if __name__ == "__main__":main()

        以上代码演示了如何使用一个全局的信号和变量来跨窗口操作部件,以及同窗口内局部的信号和槽的连接。凡是用uiproj.开头的信号和变量等,都是全局的。凡是self.开头的都是局部的。

        运行截图:

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com