《方形雨棚灯地铁高铁通道灯具防水方灯铁路交通站台灯...》剧情介绍:王志文肯定感动坏了心里一定在想:"宝强啊宝强你可真是我的'及时雨'啊"快趁着蛊阵的痕迹还残留着气息没有消散快去查看线索方形雨棚灯地铁高铁通道灯具防水方灯铁路交通站台灯...如何开发桌面系统用户界面(上)|附代码2020-09-10 15:33·不如温暖过生活Qt(发音为 cute而不是 cu-tee)是一个跨平台框架通常用作图形工具包它不仅创建CLI应用程序中也非常有用而且它也可以在三种主要的台式机操作系统以及移动操作系统(如SymbianNokia BelleMeego HarmattanMeeGo或BB10)以及嵌入式设备Android(Necessitas)和iOS的端口上运行现在我们为你提供了免费的试用版前往慧都网搜索Qt可免费下载Qt最新版>>桌面系统用户界面示例本示例以一种简单的方式展示了应用程序管理器API它是具有服务器端窗口装饰的经典桌面该示例更多地关注概念而不关注优雅或完整性例如没有错误检查完成此最小桌面系统中的某些功能仅打印调试消息支持以下功能:通过单击左上方的图标来启动应用程序通过再次单击左上方的图标来停止应用程序通过单击左上方的窗口装饰矩形关闭应用程序窗口通过单击装饰使应用程序前进通过按下窗户装饰并移动窗户来拖动窗户应用启动时系统用户界面发送 propA更改系统界面和App2会通过调试消息对窗口属性更改做出反应单击停止或重新启动App1动画App1在停止时将旋转角度作为窗口属性发送到系统UIApp1暂停时在系统UI上显示一个弹出窗口App2启动时会使用IPC扩展App2记录启动它的文档URL单击灯泡图标时App2在系统用户界面中触发通知显示源自外部流程的Wayland客户端窗口 appman注意:此示例可以在单进程或多进程模式下运行在下面的演练中我们使用多进程及其相应的术语术语客户和应用 ; 服务器和系统UI可以互换使用系统UI包括合成和通用的进程间通信(IPC)要开始示例请导航到该minidesk文件夹然后运行以下命令: -c am-config.yaml该appman二进制文件(可执行文件)通常位于Qt的安装bin文件夹中系统界面窗口import QtQuick 2.11import QtQuick.Window 2.11import QtApplicationManager.SystemUI 2.0Window { title: "Minidesk - QtApplicationManager Example" width: 1024 height: 640 color: "whitesmoke" Readme {} Text { anchors.bottom: parent.bottom text: (ApplicationManager.singleProcess ? "Single" : "Multi") + "-Process Mode" } ...该QtApplicationManager.SystemUI模块需要导入来访问应用程序管理器的API系统UI窗口具有固定的大小和 whitesmoke背景色除了Window之外root元素还可以是常规项目例如Rectangle应用程序管理器会为您将其包装在一个窗口中在背景顶部我们显示一个Readme元素其中包含有关可用功能的信息左下角有一个文本指示指示应用程序管理器是在单进程模式还是多进程模式下运行 // Application launcher panel Column { Repeater { model: ApplicationManager Image { source: icon opacity: isRunning ? 0.3 : 1.0 MouseArea { anchors.fill: parent onClicked: isRunning ? application.stop() : application.start("documentUrl"); } } } }中继器提供了设置在一个应用程序图标列在系统UI的左上角; 所述ApplicationManager元件是模型其中ApplicationManager提供了icon用作图像源URL 的角色该iconURL是在应用程序的定义info.yaml文件为了指示应用程序已启动通过将其绑定到isRunning角色来减少相应应用程序图标的不透明度单击应用程序图标可通过调用ApplicationObject.start()启动相应的应用程序可通过ApplicationManager模型中的application角色访问此功能这两个应用程序均以(可选)文档URL开头(documentUrl)如果应用程序已经在运行则调用ApplicationObject.stop()Windows系统界面中的应用程序// System UI chrome for applications Repeater { model: ListModel { id: topLevelWindowsModel } delegate: Image { source: "chrome-bg.png" z: model.index Text { anchors.horizontalCenter: parent.horizontalCenter text: "Decoration: " + (model.window.application ? model.window.application.name("en") : 'External Application') } MouseArea { anchors.fill: parent drag.target: parent onPressed: topLevelWindowsModel.move(model.index, topLevelWindowsModel.count - 1, 1); } Rectangle { width: 25; height: 25 color: "chocolate" MouseArea { anchors.fill: parent onClicked: model.window.close(); } } WindowItem { anchors.fill: parent anchors.margins: 3 anchors.topMargin: 25 window: model.window Connections { target: window function onContentStateChanged() { if (window.contentState === WindowObject.NoSurface) topLevelWindowsModel.remove(model.index, 1); } } } Component.onCompleted: { x = 300 + model.index * 50; y = 10 + model.index * 30; } } }该模型是一个普通的ListModel 它由WindowManager创建的窗口对象所提供下面显示了填充此ListModel的窗口角色的代码现在让我们集中讨论此Repeater的代表包括什么:大部分是透明的背景图片该位置取决于model.index因此每个应用程序窗口都有一个不同的初始位置创建该窗口的应用程序的名称其前缀为 Decoration此名称来自在应用程序的info.yaml文件中定义的相关ApplicationObject一个用于拖动和抬起窗口的MouseArea该鼠标区域填满整个窗口包含应用程序窗口的WindowItem放置在其顶部因此将无法处理拖动左上角的一个小的巧克力色矩形用于关闭窗口(请参见WindowObject.close())由于我们的示例应用程序只有一个顶级窗口因此关闭它会导致相应的应用程序退出核心:一个WindowItem用于WindowObject在系统用户界面中呈现;类似于图像文件和QML的图像组件之间的关系最后一旦从应用程序(客户端)端销毁了窗口的窗口则将代码从ListModel中删除这是因为它已关闭变为不可见状态或者应用程序本身退出或崩溃了这些情况中的任何一种都会导致WindowObject失去其表面如Animated Windows System UI Example中所示更复杂的System UI可以使窗口消失动画未完待续.......下一篇文章我们将发布完整版代码本篇文章中的内容你都学会了吗如果这篇文章没能满足你的需求、点击获取更多文章教程现在立刻下载Qt免费试用吧更多Qt类开发工具QtitanRibbon、QtitanChart、QtitanNavigation、QtitanDocking、QtitanDataGrid在线订购现直降1000元欢迎前往慧都网咨询在线客服获取更多优惠>>
《方形雨棚灯地铁高铁通道灯具防水方灯铁路交通站台灯...》视频说明:招凝坐起身她意识到岳胜仙一夜有了新的想法你还要去从洲吗而臧天朔的妻子对斯琴格日乐说的话更是让人不寒而栗空调制冷效果差
2024-12-21 10:10:05