【嵌入式】用Qt给ARM9(mini2440)添加软件键盘,添加动态链接库
以下四个文件可以到快盘中嵌入式的文件夹KeyPad中下载
其他的动态添加链接库的方法是一样的
账号:sharefromfox@163.com 密码:3.1415926

以下四个文件可以到快盘中嵌入式的文件夹KeyPad中下载
其他的动态添加链接库的方法是一样的
账号:sharefromfox@163.com 密码:3.1415926
第一步:
先修改五个文件的使用权限,最好都是777
(sudo)Chomd 777 +(文件名)
将libQSoftKeypad.so.1.0.0库文件拷贝到/usr/local/lib/目录下
sudo cp libQSoftKeypad.so.1.0.0 /usr/local/lib/
进入 /usr/local/lib/目录
将库文件创建有3 个连接:*.so,*.so.1,*.so.1.0,
可以使用如下命令:
1 ln -s libQSoftKeypad.so.1.0.0 libQSoftKeypad.so.1.0
2
3 ln -s libQSoftKeypad.so.1.0.0 libQSoftKeypad.so.1
4
5 ln -s libQSoftKeypad.so.1.0.0 libQSoftKeypad.so


(sudo ldconfig –v可以查看所有动态链接库)
sudo ldconfig –v |grep libQ 查看含有libQ的库
接下来是将其他的四个头文件拷贝到交叉环境编译器库中
1 sudo cp keyboard.h qsoftkeypad.h keyunit.h QSoftKeypad_global.h /usr/local/Trolltech/Qt-4.6.3-arm/include/QtGui/
当然也要将库文件卡拷贝到交叉编译环境库中并创建3个连接
1 sudo cp libQSoftKeypad.so.1.0.0 /usr/local/Trolltech/Qt-4.6.3-arm/lib/
2 sudo ln -s libQSoftKeypad.so.1.0.0 libQSoftKeypad.so.1.0
3 sudo ln -s libQSoftKeypad.so.1.0.0 libQSoftKeypad.so.1
4 sudo ln -s libQSoftKeypad.so.1.0.0 libQSoftKeypad.so

接下来将libQSoftKeypad.so.1.0.0添加到开发板的系统编译环境库中
并进行动态链接,步骤和上面的一样,注意路径

好了这样就完成了,写个Qt程序测试下
在qt中运行下面程序是通不过的
只能使用命令行交叉编译这需要给先开发板搭建Qt环境
先给项目的.pro文件中加上LIBS += -lQSoftKeypad
7 QT += core gui
8
9 TARGET = KeyPad
10 TEMPLATE = app
11
12
13 SOURCES += main.cpp\
14 mainwindow.cpp
15
16 HEADERS += mainwindow.h
17
18 FORMS += mainwindow.ui
19
20 LIBS += -lQSoftKeypad
1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
3
4 #include <QMainWindow>
5 #include "qsoftkeypad.h"
6 #include <QWSServer>
7
8 namespace Ui {
9 class MainWindow;
10 }
11
12 class MainWindow : public QMainWindow
13 {
14 Q_OBJECT
15
16 public:
17 explicit MainWindow(QWidget *parent = 0);
18~MainWindow();
private:
Ui::MainWindow *ui;
private slots:
void on_pushButton_clicked();
};
1 #include "mainwindow.h"
2 #include "ui_mainwindow.h"
3
4 MainWindow::MainWindow(QWidget *parent) :
5 QMainWindow(parent),
6 ui(new Ui::MainWindow)
7 {
8 ui->setupUi(this);
9 setWindowFlags(Qt::FramelessWindowHint);
10 setFocusPolicy(Qt::StrongFocus);
11 }
12
13 MainWindow::~MainWindow()
14 {
15 delete ui;
16 }
17
18 void MainWindow::on_pushButton_clicked()
19 {
20 ui->label->setText(ui->lineEdit->text());
21 }
交叉编译好之后将KeyPad文件中的KeyPad拷贝到开发板系统环境下,在我的快盘中我已经将交叉之后生成之后的文件都发在里面了,可以直接使用,可能效果有点误差。程序中注意的是添加#include "qsoftkeypad.h"头文件就行,程序简单,界面的实现比轻松不详细说明了。


浙公网安备 33010602011771号