树莓派|树莓派 | 03 安装qt5并创建一个PushButton按钮单击后Dialog窗体响应事件

创建日期:2019-03-03 系列文章

  • 树莓派 | 01 无显示器安装并通过wifi、ssh无线连接
  • 树莓派 | 02 利用xdrp图形界面登陆树莓派
  • 树莓派 | 03 安装qt并创建一个PushButton按钮单击后Dialog窗体响应
  • 树莓派 | 04 安装基于python3.5的tensorflow,解决python版本不匹配问题
  • 树莓派 | 05 安装wiringPi
流程
  • 更新系统和源
    sudo apt-get upgrade
    sudo apt-get update
  • 安装qt
    安装Qt5:sudo apt-get install qt5-default

    树莓派|树莓派 | 03 安装qt5并创建一个PushButton按钮单击后Dialog窗体响应事件
    文章图片
    安装Qt5
安装Qt IDE:sudo apt-get install qtcreator
用远程桌面登陆树莓派查看(登陆方法见上面文章目录第二篇) 树莓派|树莓派 | 03 安装qt5并创建一个PushButton按钮单击后Dialog窗体响应事件
文章图片
image.png
  • 大多数教程的推荐(跟风照搬)安装选项
    sudo apt-get install gcc(编译器,实际已有)
    sudo apt-get install xterm(一个终端显示工具)
    sudo apt-get install git-core(代码版本管理)
    sudo apt-get install subversion(另一个代码版本管理)
设置C和C++的Compiler
  • Tool -> Options
    Tool -> Options
  • Build & Run -> Compilers
  • Add -> Gcc -> C
  • Compiler后面点Browser
    树莓派|树莓派 | 03 安装qt5并创建一个PushButton按钮单击后Dialog窗体响应事件
    文章图片
    设置Compiler
  • 点几次上箭头(Parent Directory)到达根目录
    树莓派|树莓派 | 03 安装qt5并创建一个PushButton按钮单击后Dialog窗体响应事件
    文章图片
    根目录
  • 按路径选择编译器:/usr/bin/gcc
  • 一路ApplyOk后重复一次设置C++的
设置Kits
  • Tools -> Options -> Kits: 主要是设置CompilerCC++都为GCCDebuggerSystem GDB at /usr/bin/gdb,记得保存
    树莓派|树莓派 | 03 安装qt5并创建一个PushButton按钮单击后Dialog窗体响应事件
    文章图片
    设置kits
增加按自动补全
  • Tool->Options->Environment->Keyboard,将completeThis快捷键设置为tab
    树莓派|树莓派 | 03 安装qt5并创建一个PushButton按钮单击后Dialog窗体响应事件
    文章图片
    image.png
Hellow World
  • New Project

    New Project
  • Application -> Qt Widgets Application

    Application -> Qt Widgets Application
  • 设置Name,之后一路Next

    image.png
  • 双击Forms/mainwindow.UI

    树莓派|树莓派 | 03 安装qt5并创建一个PushButton按钮单击后Dialog窗体响应事件
    文章图片
    Forms/mainwindow.UI
  • 从左边丢一个Push Button过去

    树莓派|树莓派 | 03 安装qt5并创建一个PushButton按钮单击后Dialog窗体响应事件
    文章图片
    Buttons/Push Button
  • 新增按钮事件:对着PushButton右键转到槽Go to slot

    树莓派|树莓派 | 03 安装qt5并创建一个PushButton按钮单击后Dialog窗体响应事件
    文章图片
    Go to slot
  • Select signal -> clicked()后会自动跳转到文件mainwindow.cpp,先不管他

    树莓派|树莓派 | 03 安装qt5并创建一个PushButton按钮单击后Dialog窗体响应事件
    文章图片
    Select signal
  • 对着Project右键,此处就是Projects那几个字下面的HellowWorldQt,依次点击Add New -> Qt -> Qt Designer Form Class -> Choose

    树莓派|树莓派 | 03 安装qt5并创建一个PushButton按钮单击后Dialog窗体响应事件
    文章图片
    Add New
  • Dialog without Buttons然后一路Next

    树莓派|树莓派 | 03 安装qt5并创建一个PushButton按钮单击后Dialog窗体响应事件
    文章图片
    Dialog without Buttons
  • Class Detail懒得改继续Next

    树莓派|树莓派 | 03 安装qt5并创建一个PushButton按钮单击后Dialog窗体响应事件
    文章图片
    Class Detail
  • 双击dialog.ui,拖一个Text Edit进去,随便打点内容,比如Hellow World Raspberry

    树莓派|树莓派 | 03 安装qt5并创建一个PushButton按钮单击后Dialog窗体响应事件
    文章图片
    dialog.ui
  • 在工程目录中编辑以下内容
    mainwindow.h新增两行
// mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include #include "dialog.h"// 这里namespace Ui { class MainWindow; }class MainWindow : public QMainWindow { Q_OBJECTpublic: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private slots: void on_pushButton_clicked(); private: Ui::MainWindow *ui; Dialog *dialog; // 这里 }; #endif // MAINWINDOW_H

【树莓派|树莓派 | 03 安装qt5并创建一个PushButton按钮单击后Dialog窗体响应事件】mainwindow.c新增三行
#include "mainwindow.h" #include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); }MainWindow::~MainWindow() { delete ui; }void MainWindow::on_pushButton_clicked() { dialog = new Dialog(this); // 这里 dialog->setModal(false); // 这里 dialog->show(); // 这里 }

  • F5 运行调试
    树莓派|树莓派 | 03 安装qt5并创建一个PushButton按钮单击后Dialog窗体响应事件
    文章图片
    点击PushButton后,Dialog会跳出来
树莓派|树莓派 | 03 安装qt5并创建一个PushButton按钮单击后Dialog窗体响应事件
文章图片
这张图与本文无关

    推荐阅读