跳转到内容
View in the app

A better way to browse. Learn more.

彼岸论坛

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
欢迎抵达彼岸 彼岸花开 此处谁在 -彼岸论坛

[程序员] 请教一个关于 Qt 与 SDL 配合使用的问题

发表于

我使用 Qt 创建了一个窗口,将窗口句柄传给了 SDL , 使用 SDL 在这个窗口句柄上渲染视频。目前遇到了问题,具体描述为:

  1. 如果是直接把这个窗口的句柄传给 SDL 渲染,初始启动渲染正常,SDL 中获取到的窗口的大小和渲染区域的大小也是正常的。分辨率大小改变时,SDL 中获取的窗口大小就变成了整个窗口大小(+菜单栏),导致渲染变成了整个窗口,将菜单栏覆盖了。
  2. 上面的渲染问题,可以通过在这个 Qt 的窗口中放一个 QLabel ,然后将 QLabel 的句柄传递给 SDL 进行渲染,这样就解决了上面的渲染问题。但是又会导致另一个问题,如果传递 QLabel 的句柄到 SDL ,SDL 会捕获不到键盘事件,而上面的方案 Qt 和 SDL 都能捕获到键盘事件,但是渲染会有问题。

这个该怎么解决?或者有做过的朋友没,这个方案能不能走通。

PS: 目前有两个解决方案备用

  1. 在 Qt 中捕获到键盘事件后,使用 SDL 的事件转换一下发送出去,但是需要在 Qt 的项目中额外依赖 SDL ,不太想用。
  2. 将图像传递出来,在 Qt 中进行单独渲染,不使用 SDL 了,这样就改变了原来的方案,所以也是备选。

Featured Replies

No posts to show

创建帐户或登录来提出意见

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.