Qt5在没有韦斯顿的路上

时间:2016-06-09 15:58:04

标签: qt5 wayland qtwayland

我正在做什么以及我想要完成的一些背景是我编译了没有工具栏和背景的weston所以它只是一个黑屏。我这样做是因为当我运行命令时:

$ weston &
$ ./pure-qml -platform wayland

在从Qt启动pure-qml示例之前,它将启动weston窗口管理器作为黑屏而不是桌面。

我的最终目标是一起跳过weston,只需从命令行启动pure-qml示例,而无需运行weston。

来自qtwayland的例子,如果我跑:

./qwindow-compositor &
./pure-qml -platform wayland --single

失败,无法创建显示(文件或目录丢失)。我的理解是qt有一个Wayland合成器。

如何创建一个使用Wayland后端的qt独立应用程序并创建一个屏幕,就像从命令行启动weston一样。

2 个答案:

答案 0 :(得分:1)

  

我的理解是qt有一个Wayland合成器。

在qtwayland模块中,只有一个示例合成器,向您展示如何使用qtwayland提供的基类来创建自己的合成器。

  

如何创建一个使用Wayland后端的qt独立应用程序并创建一个屏幕,就像从命令行启动weston一样。

由于wayland的服务器 - 客户端体系结构,您必须在客户端之前启动服务器端。你需要在你的应用程序中调用wl_display_connect()之前在你的Qt应用程序中分叉你的compositor(服务器端)。

答案 1 :(得分:0)

Declare @Rangefrom date, @Rangetill date; SET @rangefrom = DATEADD(day, -50, GETDATE()) SET @Rangetill = DATEADD(day, -90, GETDATE()) Select a.Candidate , a.Newstatus , @rangefrom , a.date , @rangetill , a.Consultant From AppStatusHistory as A WHERE newstatus = 'Working Compliant' OR newstatus = 'Registered Compliant' AND A.Date BETWEEN @rangefrom AND @Rangetill AND A.Date = (select max(B.date) from AppStatusHistory AS B where B.Candidate = a.Candidate) 是合成者

所以你只需要在你喜欢的平台插件上运行它,它通常是#include <array> #include <type_traits> template<size_t size> struct Vector { std::array<float, size> data; template<size_t s = size, std::enable_if_t<s >= 1, int> = 0> float& x() { return data[0]; } template<size_t s = size, std::enable_if_t<s >= 2, int> = 0> float& y() { return data[1]; } template<size_t s = size, std::enable_if_t<s >= 3, int> = 0> float& z() { return data[2]; } template<size_t s = size, std::enable_if_t<s >= 4, int> = 0> float& w() { return data[3]; } }; ,即

pure-qml

然后使用

运行客户端
eglfs