环境配置

  1. 环境配置

    1. Windows上:QT5 + CLion
    2. 硬件上:一只可联网、可ssh连接且装有QT5的树莓派
    3. 暂时还没想好。。。
  2. 树莓派安装qt

    sudo apt-get update
    sudo apt-get upgrade
    sudo rpi-update
    以上为更新源、包,一般只进行第一步即可
    sudo apt-get install qt5-default
    sudo apt-get install qtcreator
    sudo apt-get install qtdeclarative5-dev //安装QtQuick
    sudo apt-get install qtmultimedia5-dev //安装QtMultimedia
  3. 首先在CLion中配置好QT的ui绘制界面(QtDesinger)

    Arguments: $FileName$
    working directory:$ProjectFileDir$

    arguments:$FileName$ -o ui_$FileNameWithoutExtension$.h
    working directory:$FileDir$

    此处经过修改,所以与原图片不一致,图中的工作目录只能是项目root目录,改成现在的文件目录之后,即可随处UIC了。

    以上就是环境配置了。

项目测试

  1. CMakeList.txt文件内容

    cmake_minimum_required(VERSION 3.14)
    project(qt_test) set(CMAKE_CXX_STANDARD 14) set(CMAKE_AUTOMOC on)
    set(CMAKE_AUTOUIC on)
    set(CMAKE_AUTORCC on)
    set(CMAKE_INCLUDE_CURRENT_DIR on) find_package(Qt5 COMPONENTS Widgets Core Gui) add_executable(qt_test src/main.cpp src/mainwindow.cpp)
    target_link_libraries(qt_test Qt5::Core Qt5::Gui Qt5::Widgets ${CMAKE_DL_LIBS} )

    CMakeList.txt中的第6、7、8行是必须有的,因为QT使用的qmake,而CLion使用的是cmake,这几句应该是用来使cmake模仿qmake进行中间编译的,例如生成.moc文件等等。

    第9行,,,注释掉之后也没发生什么问题,,,就留着吧。。

    第11行用来寻找关于QT5 的相关头文件。其中Qt5 COMPONENTS是固定的,后面则是你需要的QT部件。

    13行添加运行文件,14行则是添加运行库(很重要,嗯,第14行)。

  2. 创建ui文件,并右键该文件。

    (两个箭头的原因是因为鼠标驱动最近有点问题,,,)

  3. 在QtDesinger中创建UI文件,并保存。(此处需多练练,我也很头大)!

  4. 生成ui头文件

注意:图中的文件不是一次创建的,首先创建一个ui文件,按照上两步生成ui文件(*.ui和uixxxxxx.cpp),其余的文件则是手动创建。新手可以从QT中拖过来,因为QT默认有代码框架(我就是拖过来的)。

  1. 运行。

    运行时,需要下Clion上部署好远程调试环境(这篇博客还没写,待会补上)。

    剩下的应该就是运行了吧,,,

Win10+ Clion + 树莓派 + QT进行远程qt程序开发的更多相关文章

  1. Win10 + CLion + 树莓派 + QT 远程开发调用Python

    原则:能在一个机器上开发的就不在两台机器上!! 首先需要配置远程QT开发环境 配置Cmake cmake_minimum_required(VERSION 3.14) project(qt_test) ...

  2. 树莓派入门教程——使用Qt开发界面程序

    前言        Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架.它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器.Qt是面向对象的框架,使用特 ...

  3. 4、树莓派的中文:安装ftp,安装gcc,安装qt,编译qt程序,运行qt界面程序

    本博文仅作本人操作过程的记录,留作备忘.自强不息 QQ1222698 1.安装FTP:sudo apt-get install vsftpd 2.配置FTP,修改,/etc/vsftpd.conf # ...

  4. Linux+CLion+树莓派远程编译时,Cmake编译出现undefined reference to `vtable for MainWindow'的解决办法

    在win+CLion上进行远程qt开发时碰到以下错误: 错误提示: undefined reference to `vtable for MainWindow' 原因:源文件的目录结构有问题?? 解决 ...

  5. qt 单文档程序关闭时在delete ui处出现segmentation fault

    做了个显示图片的单文档程序. qt 单文档程序关闭时在delete ui处出现segmentation fault. 调试发现调用两次mainwindow析构函数. http://blog.csdn. ...

  6. Qt之重启应用程序

    简介 今天分享的内容有些意思-如何重启一个应用程序.其实,有时候这是一个很重要的功能点,而且很人性化.易用性很好. 例如:切换用户.当某个用户登录成功之后,需要切换到其它账号,那么这时,你就知道它的重 ...

  7. 【Qt】Qt之重启应用程序【转】

    简介 今天分享的内容有些意思-如何重启一个应用程序.其实,有时候这是一个很重要的功能点,而且很人性化.易用性很好. 例如:切换用户.当某个用户登录成功之后,需要切换到其它账号,那么这时,你就知道它的重 ...

  8. QT中关闭应用程序和窗口的函数(quit(),exit()以及close()的区别)

    使用QT编辑界面,其中带来很大方便的一点就是Qt中自带丰富的.种类齐全的类及其功能函数,程序员可以在编辑程序的过程中简单地直接调用.关于窗口关闭的操作,在这里指出常用的三个槽,即quit(),exit ...

  9. 通过Qt样式表定制程序外观(比较通俗易懂)

    1. 何为Qt样式表[喝小酒的网摘]http://blog.hehehehehe.cn/a/10270.htm2. 样式表语法基础3. 方箱模型4. 前景与背景5. 创建可缩放样式6. 控制大小7. ...

随机推荐

  1. MySQL SELECT语法(四)UNION语法详解

    源自MySQL 5.7 官方手册:13.2.9.3 UNION Syntax 一.UNION语法 UNION用于将多个SELECT语句的结果合并到一个结果集中. SELECT ... UNION [A ...

  2. Antd组件库,利用Menu组件模拟一个简单Tree组件

    当前工作中,前端的主要技术栈用是vue. 那React怎么办呢?总不至于把他扔在墙角吧! 只能在一些很小的项目上,也只有自己一个前端的时候,悄悄的上React. 当然,React项目UI组件还是最喜欢 ...

  3. 设计模式风格<一>;回调风格

    主程序,是一个人,有一个类是同事: static void Main(string[] args) { Console.WriteLine("Hello Go to Lunch?" ...

  4. git 分布式版本控制

    一.git版本控制 管理文件夹 安装省略 1. 进入要管理的文件夹 2. 初始化 (提名) 3. 管理 4. 生成版本 对应的命令: # 进入文件夹以后 右击选git bash here #初始化 g ...

  5. 如何使用JDBC连接数据库

    1 JDBC:java database connectivity,是java程序与数据库系统通信的标准api 2 下载mysql JDBC驱动,解压缩找到mysql-connector-java-5 ...

  6. Oracle 如何查看当前的实例及切换实例

    一.Oracle查看当前实例 1.打开终端,输入命令sqlpuls / as sysdba连接到数据库 2.输入命令show parameter name便可以查看当前登录数据库的参数配置,如下可以看 ...

  7. bash shell脚本之获取时间日期

    shell中的时间日期获取 cat test5: #!/bin/bash # using the backtick character testing=`date` echo "The da ...

  8. 通过ABAP代码判断当前系统类型,BYD还是S4 OP还是S4 Cloud

    用工具类 CL_COS_UTILITIES IS_BYD 如果是BYD系统,这个方法的实现会硬编码返回一个true, 在其他系统里则返回false,如图: IS_SUITE 原理同上,suite系统里 ...

  9. JAVA栅栏和闭锁的区别

    闭锁:一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待.即,一组线程等待某一事件发生,事件没有发生前,所有线程将阻塞等待:而事件发生后,所有线程将开始执行:闭锁最初 ...

  10. easyUi的组合表格

    公司之前的项目是用easyui写的里面还混搭着php...把分支下来,有点蒙.晚上回来恶补一下吧,今天渲染这个表格,我开始自己写假数据,然后用ajax操作再使用 obj.datagrid('loadD ...