LLLE36联系v 2023-07-19 22:29 采纳率: 20%
浏览 35

现在想在Ubuntu的qt里制作一个qt界面,并交叉编译出可执行程序,然后移植到GEC6818开发板上面,当该执行该可执行文件时ui界面会显示在LCD中间,所以怎么把qt的ui界面放到LCD的正中间呢

问题遇到的现象和发生背景

基于GEC6818开发板,怎么把qt的ui界面放到LCD的正中间呢?现在想在Ubuntu的qt里制作一个qt界面,并交叉编译出可执行程序,然后移植到GEC6818开发板上面,当该执行该可执行文件时ui界面会显示在LCD中间,所以怎么把qt的ui界面放到LCD的正中间呢?

操作环境、软件版本等信息

操作环境:Linux
软件版本:Ubuntu16.04 Qt5.5.1

我想要达到的结果

ui界面会显示在LCD中间

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-07-20 08:28
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 这篇博客: QT自制精美Ui模板系列展示(一)桃子风格模板 - 二次开发专用中的 ②搭配自定义提示弹窗 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

      在这里插入图片描述

    • 以下回答来自chatgpt:

      为了将Qt的UI界面放置在GEC6818开发板的LCD屏幕正中间,需要按照以下步骤进行操作:

      1. 在Ubuntu的Qt环境中制作Qt界面,并确保界面的大小适合GEC6818开发板的LCD屏幕。

      2. 交叉编译Qt项目为可执行程序,可以使用Qt Creator中提供的交叉编译工具链。

      3. 将可执行程序移植到GEC6818开发板上,并确保开发板已正确连接到LCD屏幕。

      4. 编写一个Python脚本,启动可执行程序并将其放置在LCD屏幕的正中间。以下为示例代码:

      import os
      import subprocess
      
      # 获取屏幕的分辨率
      screen_width = 1920
      screen_height = 1080
      
      # 获取可执行程序的大小
      executable_width = 800
      executable_height = 600
      
      # 计算可执行程序在屏幕上的位置
      x_pos = (screen_width - executable_width) // 2
      y_pos = (screen_height - executable_height) // 2
      
      # 启动可执行程序,并设置位置
      subprocess.Popen(os.path.join(os.getcwd(), 'your_executable_program'), 
                       env={'XPOS': str(x_pos), 'YPOS': str(y_pos)})
      
      1. 在Qt界面的代码中,根据环境变量XPOSYPOS来设置窗口的位置。以下为示例代码:
      #include <QApplication>
      #include <QDesktopWidget>
      
      int main(int argc, char *argv[])
      {
          QApplication app(argc, argv);
      
          // 创建Qt界面,例如MainWindow类
          MainWindow window;
      
          // 获取屏幕的分辨率
          int screen_width = QApplication::desktop()->width();
          int screen_height = QApplication::desktop()->height();
      
          // 获取环境变量XPOS和YPOS的值
          int x_pos = qgetenv("XPOS").toInt();
          int y_pos = qgetenv("YPOS").toInt();
      
          // 设置窗口的位置
          window.move(x_pos, y_pos);
      
          // 显示窗口
          window.show();
      
          return app.exec();
      }
      

      通过以上步骤,就可以将Qt的UI界面放置在GEC6818开发板的LCD屏幕正中间了。请根据实际情况调整代码中的屏幕分辨率和可执行程序的大小。如果还有问题,请告知。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 7月19日

悬赏问题

  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错
  • ¥15 拓扑学,凸集,紧集。。
  • ¥15 如何扩大AIS数据容量
  • ¥15 单纯型python实现编译报错
  • ¥15 c++2013读写oracle