总要留下些什么

写下一些东西,留给未来的自己回忆一下当时的时光。

背景

实现一个简单的多台PC间建立网络连接后,从Server端控制Client端执行相应操作的功能。

整体流程

采用类似Wizard的风格,引导用户使用简单的点击下一步的操作,完成连接的建立。
通过界面突出展示设备当前状态,并根据设备当前状态展示上下文相关的控制UI,从而方便用户控制。

实现方案预想

通过调整界面背景色,适配当前流行的浅色、深色主题,通过实现自定义控件,使控件风格更接近现代化UI样式。

未选用QML

根据AI反馈,推荐使用QWidget来实现,我来看看具体怎么个事。

完成今日任务后来更新。

2025-0909更新

昨天下班前忘记更新了,今早补上~
昨天实现了一个自定义Titlebar,思路和之前做MFC Dialog的应用也都是一样的,隐藏起原有对话框的边框,新建一个Titlebar类。

TitleBar的实现

主要实现功能包括:

  1. 中央显示标题
  2. 左侧根据需要显示回退按钮
  3. 右侧显示最小化和关闭按钮

几个关注点:

  1. Titlebar中的各控件的高度别设置高了,尤其与上下要留好边距,否则覆盖了整个对话框的边缘,效果就错了;
  2. Ttitlebar的顶部圆角不需要单独设置,将整个对话框的四角设置为圆角;
  3. Titlebar最下部分画一条直线,用于区分Titlebar和Client区,这个线画的时候出现很多次错误,使用样式表修改边框时,会让所有控件都出现了边框,效果极差,还应是单独画一条线来实现;
  4. 整体的dialog背景使用了样式表设置为白色,要注意Titlebar中的文本背景和按钮背景也要修改;

目前考虑剩余的问题:

  1. 标题中的字体字号还没设置;
  2. 最小化和关闭按钮使用的文字_和X,之后是否需要替换为图片。

2025-0910更新

布局调整

昨天被这个Layout折磨够呛,通过QT Designer拖拽了Layout进窗口,然后再把之前的控件托到Layout里,就提示错误,要先打碎Layout,AI一顿支招,结果.ui文件里能看见的layout的name,在Designer的界面里根本不显示。。。
最后终于在AI的回复中找到了一个关键点,通过使用widget先将控件摆放进widget,再将widget修改布局,可以解决了。
今天继续调布局,看明天能完成多少。

2025-0911

QStackedWidget

昨天的收获是QStackedWidget,这个项目我把建立连接的过程设计为通过一个向导页来实现,也就是整体界面并不动,页面中的内容可以随着用户下一步或上一步的操作切换。并且我还设计了一个连接过程中的验证页面,界面顶部的信息不动,当验证通过后,底部的内容会从Pin验证内容变更为Client端自己的信息。为了达到这个效果,使用到了QStackedWidget,StackedWidget中为不同页面添加控件,通过index来实现切换,就可以完成内容的改变,并且在一个界面中,通过设置QStackedWidget所在位置的布局,就能实现了其余位置的控件所在位置不会变化。

2025-09-17

这个内容的开发基本上周已经完成了,简单总结下吧。

总结

  1. 现代界面:
    基本只通过设置背景色和设置QT默认控件的样式即可实现效果,这里了解到QT的控件都能设置Style,里面样式的说明类似CSS那种,基本想要什么样式,跟LLM说明下,直接都能输出对应效果。
  2. Wizard效果
    通过QStackedWidget实现,在一个对话框中,直接切换不同的widget,比之前MFC中动态控制显示/隐藏控件的方法方便多了。应该是年头越多,对开发工具的改善越多了。
  3. QT Designer的使用
    看似挺low的可视化界面,实际还挺好用的,一开始对Layout的理解没弄清楚,总要先加widget再拖拽一个layout进来,结果弄不了和widget匹配,并且不能把已经创建的控件拖进去,一拖就报错。后来知道了,先加widget,直接加控件,然后直接widget上右键修改layout就行,非常方便的。想加想要的布局,就先拽个Widget。
  4. 补充一下上周最后遇到的一个事,要让多行内容之间的间距不一样,之前一直通过修改layout中的strech那个属性来调整,就是调整各个控件占用的比重,以为能实现有的控件间间距小,有的控件间间距大的效果,结果怎么调也不理想,加了上面控件向下对齐,下面控件向上对齐,效果都不理想。最好还是拽进来几个弹簧的控件就行了,单独让弹簧占比重,效果就可以了。

这个内容基本就这样了,之后再整理其它内容吧。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐