求教选择不同的型号,主窗口中出现不同的 表单

qq_24972973 2019-02-12 04:01:23
当左边选择 G930A时, 右边就出现 一些 G930A的业务按钮
当左边选择 G930B时, 右边红框内就出现一个 G930B的业务按钮

求高人这个该怎么实现,最好有 类似的案例代码
左边listwidget 信号发出没有问题,
就是不明白 怎样去分别 设计 个个型号 如G930A的子窗,然后 根据需要 再显示到主窗口来

...全文
244 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
有可能,没有试过如此多的型号。不过,鉴于Qt 100000 chips的例子,感觉不会很卡。
是不是每种型号所使用的控件全都不同?

还有一种方法,因为你说场景里头,都是按钮,没有很复杂的结构,因此,可以自动的生成按钮,而不是生成stack widget

这么多的业务,一定是记录在数据库里头啦。因此,首先只是插入一个List。当某个型号的ListItem被click或者激活时,则动态的来创建按钮。按钮的多少、名字可以放在数据库里,这样,以后万一型号变了,也不需要改程序。建议:

1、增加“操作”表,结构类似
型号ID, 型号名,按钮名,操作id,操作入口,操作脚本文件
930000, G930A 重启机器 0 do_operation g93x.dll
930000, G930A 升高电压 1 do_operation g93x.dll
930001,G930B 升高电压 0 my_opreation2 g93x.dll
...

2、界面上本来就给10个按钮,足够多,可以涵盖各种型号的最多操作数。

3、当List被激活时,按照型号,去数据库里搜索所有的操作,而后把按钮的名字改成按钮名。用得着的按钮显示show,用不着的hide
同时,在内存中记录一个 QVector<mod_op> curr_ops表,对应每个按钮的详细操作,与数据库当前型号的各个记录一致。这样,你就知道第几个按钮对应的是什么操作了。

4、所有的DLL里面都提供参数表一致的C接口的函数,如需要Qt的插件技术并动态生成其他界面,可以参考
我的这个博客
do_operation(int mod_id, int op_id);
在DLL里干活。

5、某个按钮被单击,直接动态载入这个DLL,而后执行函数 do_operation

比如,用户选择了930A的功能1,则(伪代码)
HANDLE h = LoadLibrary (curr_ops[0].apifile);//"g93x.dll"
ftype fun = GetProcAddr(curr_ops[0].method);//“do_operation”
fun(curr_ops[0].mod_id,curr_ops[0].op_id); //930000,0

-----------
如果用插件技术,则稍微复杂,需要创建一个虚基类作为Interface。但是Qt插件支持创建复杂界面,比如工控状态的显示。


qq_24972973 2019-02-13
  • 打赏
  • 举报
回复
我是说几百个型号 都加进 stackedWidget的话, 会不会导致程序很卡呢?
qq_24972973 2019-02-13
  • 打赏
  • 举报
回复
谢谢 丁劲犇 , 另外再请问下,如果我有 200-300 型号,都需要 在构造函数里 大概这样 ui(new Ui::Widget) { ui->setupUi(this); widget_1=new QListWidget(ui->stackedWidget); widget_1->addItem("Widget_1"); } 我不清楚 这样几个型号 小控件 都加进 stackedWidget 对象的话, 最终出来的程序会不会很卡呢?
  • 打赏
  • 举报
回复
QStackWidget可以实现这个功能。动态的插入page即可
内容概要:本文研究了计及需求侧响应的日前、日内两阶段鲁棒备用优化方法,旨在应对高比例可再生能源接入背景下电力系统中存在的不确定性问题。通过构建两阶段鲁棒优化模型,将日前调度作为第一阶段决策,日内调整作为第二阶段修正,充分考虑风电、光伏等出力波动以及负荷变化带来的影响。模型引入需求侧响应机制,利用可调节负荷参与系统备用,提升系统的灵活性与鲁棒性。采用列与约束生成(C&CG)算法对两阶段鲁棒优化问题进行求解,并通过Matlab编程实现,结合标准测试系统进行仿真分析,验证了所提方法在降低运行成本、提高可再生能源消纳能力和增强系统可靠性方面的有效性。; 适合人群:具备电力系统优化、运筹学及Matlab编程基础的研究生、科研人员及从事能源系统规划与运行的专业技术人员。; 使用场景及目标:①应用于含高比例可再生能源的电力系统调度决策,提升调度方案的鲁棒性;②为需求侧资源参与电力系统备用提供建模与求解工具;③支撑科研教学中关于两阶段鲁棒优化、C&CG算法实现的学习与实践。; 阅读建议:建议读者结合Matlab代码深入理解模型构建与求解流程,重点关注不确定性集合的刻画方式、需求侧响应的建模方法以及C&CG算法的迭代逻辑,宜配合相关优化理论资料进行系统学习。
内容概要:本文围绕掺铒光纤放大器(EDFA)的分析模型展开深入的模拟研究,重点在于利用Matlab代码实现EDFA工作过程的数值仿真,涵盖其增益特性、噪声系数以及在不同泵浦功率和波长条件下的性能表现。研究通过建立基于速率方程和传输方程的物理模型,精确描述铒离子的能级跃迁、自发辐射、受激辐射及吸收等核心物理机制,进而构建可用于光通信系统级仿真的EDFA模块。该模型不仅能够准确预测单级EDFA的输出光谱和增益平坦度,还支持对多级放大链路的级联效应进行分析与优化,具备良好的实用性、灵活性和可扩展性,为光通信系统的设计与性能评估提供了可靠的理论依据和工具支持。; 适合人群:具备一定光学通信基础知识和Matlab编程能力的研究生或科研人员,尤其适用于从事光纤通信系统仿真、光器件建模与性能优化等相关领域的工程技术人员。; 使用场景及目标:①用于高校及科研机构中关于光放大器原理的教学演示与科研分析;②支撑长距离、大容量光纤传输系统中多级EDFA链路的性能预测、噪声累积分析与优化设计;③作为典型有源光器件建模的学习案例,帮助理解复杂光电器件的数值仿真方法与物理机制。; 阅读建议:建议读者结合光通信相关理论知识,仔细研读模型的数学推导过程,并动手运行与调试所提供的Matlab代码,深入探究泵浦方式、光纤长度、掺杂浓度等关键参数对EDFA性能的影响规律,进一步可尝试将该模型集成至更大规模的光网络仿真平台中进行联合系统分析。

21,503

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧