如何用 designer 建立一個視窗(最基本)

这篇博客介绍了如何使用Qt Designer创建GUI界面,并通过pyuic5将.ui文件转换为.py文件。接着,展示了如何在Python中导入和运行这个GUI,创建一个MyDesigner类来初始化和展示界面。最后,提供了调用转换后的.py文件的代码示例。

開啟designer
1.開啟一個widget
在这里插入图片描述
2.用滑鼠拉一個按鈕
隨便拉一個 元件
存檔為 *.ui

3.用pyuic5 -x *.ui -o *.py
會產生 xxxx.py 檔案
內容為


from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName(“Form”)
Form.resize(400, 300)
self.pushButton = QtWidgets.QPushButton(Form)
self.pushButton.setGeometry(QtCore.QRect(120, 70, 161, 101))
self.pushButton.setObjectName(“pushButton”)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)

def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate(“Form”, “Form”))
self.pushButton.setText(_translate(“Form”, “PushButton”))

if name == “main”:

import sys
app = QtWidgets.QApplication(sys.argv)
Form = QtWidgets.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_())


4.然後寫個py呼叫 xxxx.py
做兩個動作

  1. from untiled import Ui_Form
  2. 寫一個 class

內容如下:
import sys

from PyQt5.QtWidgets import QMainWindow,QApplication
from untitled import Ui_Form

class MyDesiger(QMainWindow,Ui_Form): <----1,2
def init(self,parent=None):
super(MyDesiger,self).init(parent) <----3
self.setupUi(self)

if name == “main”:
app = QApplication(sys.argv)
ui = MyDesiger()
ui.show()
sys.exit(app.exec_())

**** 有個要注意
下面的 if __name 可以不要
後面只要
self.ui = MyDesiger()
self.ui.show()
即可

<think>好的,我需要帮助用户解决如何使用Matlab App Designer开发绿色建材评价信息系统的仿真应用程序的问题。首先,我要回顾用户提供的引用内容,看看是否有相关的指导信息。引用[1]和[2]提到了如何在App Designer中调用Simulink模型和导入数据,而引用[3]提到了基于App Designer开发的电动汽车程序,这可能涉及到界面设计和数据处理。 用户的需求是创建一个仿真应用,用于绿色建材评价。这需要结合数据输入、模型仿真和结果展示。我应该分步骤说明开发过程,确保结构清晰。首先可能需要设计GUI界面,然后处理数据导入,接着连接Simulink模型进行仿真,后显示结果。 需要考虑App Designer基本组件,比如输入框、按钮、图表等。然后是如何将用户输入的数据传递到Simulink中,这可能需要使用到模型参数设置或工作区变量。引用[2]中提到了将数据导入工作区并传递给Simulink,这可能涉及到使用set_param函数或者Simulink输入端口。 另外,绿色建材评价可能需要特定的评价模型,用户可能需要自己开发Simulink模型,或者在现有的模型基础上进行调整。需要提醒用户确保模型与App Designer的集成,比如使用回调函数来触发仿真,并在仿真完成后更新结果。 可能还需要考虑数据的可视化,比如使用UIAxes组件来显示图表。引用[1]中提到了在GUI界面上显示仿真结果,这可能涉及到在仿真完成后读取输出数据并绘图。 后,用户可能需要测试和优化应用程序,确保界面友好且仿真准确。需要提醒用户进行单元测试和集成测试,确保各部分协调工作。 现在需要将这些步骤组织成一个清晰的流程,并确保每个步骤都有具体的操作方法,比如代码示例或组件使用说明。同时,要结合用户提供的引用内容,合理引用相关部分,比如数据导入和模型调用的方法。</think>### 基于Matlab App Designer的绿色建材评价信息系统仿真应用开发步骤 #### 一、系统需求分析与界面设计 1. **明确评价指标** 确定绿色建材评价的关键指标(如碳排放、材料回收率、能耗等),建立数学模型,例如加权评分公式: $$S = \sum_{i=1}^{n} w_i \cdot x_i$$ 其中$w_i$为权重,$x_i$为指标值。 2. **GUI布局设计** 在App Designer中创建以下组件: - 输入控件:数值输入框、文件上传按钮 - 输出控件:UIAxes图表、结果展示面板 - 操作按钮:仿真启动、报告生成按钮 *参考引用[2]中提到的可视化GUI设计方法[^2]* #### 二、数据交互实现 1. **数据导入模块** ```matlab % 文件上传回调函数示例 function ButtonPushed(app, event) [file, path] = uigetfile('*.xlsx'); data = readtable(fullfile(path, file)); app.DataTable = data; % 存储到App属性 end ``` 支持Excel/CSV格式数据导入,通过`readtable`函数解析后存入工作区。 2. **参数传递到Simulink** ```matlab % 在按钮回调中设置模型参数 set_param('GreenMaterialModel', 'SimulationCommand', 'start'); set_param('GreenMaterialModel/Subsystem', 'Gain', num2str(app.GainValue)); ``` #### 三、Simulink模型集成 1. **模型构建要点** - 创建评价算法子系统,封装评分公式 - 添加Inport/Outport模块对接App数据流 *参考引用[1]的模型调用方法[^1]* 2. **仿真控制代码** ```matlab function RunSimulationButtonPushed(app, event) simOut = sim('GreenMaterialModel', 'LoadExternalInput', 'on'); app.Results = simOut.yout{1}.Values.Data; plot(app.UIAxes, app.Results); % 结果可视化 end ``` #### 四、结果可视化与报告生成 1. **动态图表更新** 使用`UIAxes`组件实时显示仿真曲线,支持缩放/平移操作。 2. **评价报告生成** ```matlab function GenerateReport(app, event) html = ['<h1>评价报告</h1><p>综合得分:', num2str(app.Score), '</p>']; exportHTML(app.ReportPanel, html); end ``` #### 五、测试与部署 1. **单元测试** - 验证边界值输入(如0分、满分场景) - 测试异常数据处理(非数值输入检测) 2. **应用程序打包** 使用Matlab Compiler生成独立执行文件: ```matlab mcc -m GreenMaterialApp.mlapp ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值