找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4188|回复: 1
打印 上一主题 下一主题
收起左侧

ARM9的嵌入式开发—踏入Qt4开发

[复制链接]
跳转到指定楼层
楼主
ID:60076 发表于 2014-4-30 16:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
经过几天时间移植Qt4和Yaffs文件系统后,终于在ARM9的开发板上的Linux 2.6.30.4内核中成功运行Qt4,并且亲身编写了第一个Qt4应用程序。我以后就在Qt上发展了,当然一些底层驱动编写的还要继续学习,不然以后的机器人就难做了。

照片名称:IMG_2649
所属相册:YYQ个人工作室
点击“Well done!”按钮,会自动在上面的文本编辑框中插入“Thanks <br />”
照片名称:IMG_2650
所属相册:YYQ个人工作室
Qt的信号槽。是Qt与其他编程工具区分开来的标志呢。。我刚开始有点搞不懂,看到拉出来的有电路中的接地符号,以为真是电路设计,其实不是的,是把信号连接到本窗口上。



在写槽响应代码时,摸了半天,因为这有点像MFC,但又和它的区别非常大。
刚开始通过阅读自动生成的代码,硬是找不到哪个变量是存储窗口上的所有对象的,换句话说窗口上的某个对象如TextEdit文本编辑框,它的实例或指针在哪。如果我找不到这个,就无法对这个对象进行如插入“Thanks”的操作。总觉得缺少点什么。

在我不停地百度百度以及反复看Qt Creator的界面后,终于发现了一个“重大秘密”
某位网友的博客上明确写出了

这么一句话。

取消默认勾选的第二个“Hide Generated files”勾后,我看到了ui文件的头文件。这下好找了,心中的缺陷也补全了。

class Ui_MainWindow
{
public:
    QWidget *centralWidget;
    QTextEdit *textEdit;
    QPushButton *pushButton;
    QPushButton *pushButton_2;
    QMenuBar *menuBar;
    QToolBar *mainToolBar;
    QStatusBar *statusBar;
    QToolBar *toolBar;
………………

在这个文件里面,我看到了这些对象的声明,才知道他们是怎么存在代码上的了。于是顺藤摸瓜,在mainwindow的头文件中以及继承过来的MainWindow的类的构造函数中,最终确定了:在MainWindow类中的私有成员“ui”这个类包含了窗口上所有对象的指针。

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;

最后就像我所说的,在响应函数中,因为是MainWindow的一员,所以它可以调用私有成员变量ui。所以就通过ui来找出文本编辑框的指针,进而调用文本编辑框这个类里的函数insertHtml()来实现插入一段文字。如我的代码中的第23行。



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:100515 发表于 2018-11-20 21:02 | 只看该作者
楼主,我的程序只能在ubuntu下面跑,不能移植到arm,file 我的可执行文件是x86_64的,不是arm的,这是为什么,高了快两周了,qt环境还没有配好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表