社区
Qt
帖子详情
求教选择不同的型号,主窗口中出现不同的 表单
qq_24972973
2019-02-12 04:01:23
当左边选择 G930A时, 右边就出现 一些 G930A的业务按钮
当左边选择 G930B时, 右边红框内就出现一个 G930B的业务按钮
求高人这个该怎么实现,最好有 类似的案例代码
左边listwidget 信号发出没有问题,
就是不明白 怎样去分别 设计 个个型号 如G930A的子窗,然后 根据需要 再显示到主窗口来
...全文
170
4
打赏
收藏
求教选择不同的型号,主窗口中出现不同的 表单
当左边选择 G930A时, 右边就出现 一些 G930A的业务按钮 当左边选择 G930B时, 右边红框内就出现一个 G930B的业务按钮 求高人这个该怎么实现,最好有 类似的案例代码 左边listwidget 信号发出没有问题, 就是不明白 怎样去分别 设计 个个型号 如G930A的子窗,然后 根据需要 再显示到主窗口来
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
跑马溜溜的山上
2019-02-13
打赏
举报
回复
有可能,没有试过如此多的型号。不过,鉴于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 对象的话, 最终出来的程序会不会很卡呢?
跑马溜溜的山上
2019-02-12
打赏
举报
回复
QStackWidget可以实现这个功能。动态的插入page即可
java
窗口
中
添加图片_java初学者
求教
怎么在
窗口
中
添加一张图片
packagejava525;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassMainWindowextendsJFrameimplementsActionListener{JMenuBarmenuBar... } 想在 "学生管理系统"这个大
窗口
下添加一张图片 展开
API问题
求教
求教
窗口
刷新函数?? 我的问题:在同一个
窗口
中
我有两幅图案 如果我点击小图按钮用户区会
出现
小图 这个没有错,问题来了,如果我现在在点击大图案钮 大图 会
出现
在用户区 和第一次
出现
的小图在同一个
窗口
中
,我...
python tkinter
主
窗口
调用子
窗口
时,子
窗口
的Entry无法获取数值
#这个是我的python
主
程序 import tkinter as tk #引用Tk模块 from tkinter import StringVar import tkinter.messagebox import login as lg #import test8 #regist #import regist def opens(): tkinter....
ems与nms_
求教
OMC、EMS、NMS的区别和
不同
?
求教
OMC、EMS、NMS的区别和
不同
?OMC --操作维护
中
心EMS -- 网元管理系统NMX -- 网络管理系统厂家的OMC、EMS、NMS,有啥
不同
?但一般OMC,EMS都指厂家带的NMS是综合的接如
不同
设备的OMC是指厂家的针对自身设备的网管...
vb2005
中
多个FORM
窗口
如何设定启动顺序,
求教
!
vb2005
中
多个FORM
窗口
如何设定启动顺序,
求教
!
Qt
16,818
社区成员
26,684
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章