首页| 论坛| 消息

标题:qt中达到点击编辑框弹出软键盘
作者:_jason
日期:2014-06-19 00:10
内容:

本小白第一次发帖,最近在做arm板上做一个小项目。苦于板子没有键盘输入,于是就想做一个虚拟键盘来实现输入。
实际上就是一个StackedWidget上两个页面的切换
首先我重写了QLineEdit类,对其中的focusI你Event函数重写,当该编辑框获得焦点时发送一个编辑信号。

这里要注意一点是:当编辑框获得焦点后发送信号后要释放这个焦点,要不然会一直发送这个信号,另外把事件给父部件。
不然编辑框里的箭头就不会出现,我感觉核心就是这里吧。
楼主用了大量的信号与槽的连接,其他的都比较简单了,直接上效果图吧。。


楼主大二,由于项目需要接触了一学期的QT,是个菜鸟,虽然这些东西很简单,也捉摸了挺久,所以向把它发出来
让自己以后可以看一下,如果有需要的也希望可以帮助到你们


#1 [dbzhang800 06-19 10:29]
恩,不错。
#2 回 dbzhang800 的帖子 [_jason 06-19 19:27]
dbzhang800:恩,不错。 (2014-06-19 10:29) 
没有吧,感觉投机取巧了
#3 [qqqwh 08-16 14:03]
请教一下,按键上的2和ABC怎么才能放一块儿?
#4 回 qqqwh 的帖子 [_jason 11-10 15:55]
qqqwh:请教一下,按键上的2和ABC怎么才能放一块儿?
 (2014-08-16 14:03) 
那只是按钮上的图片,其实是不能输入字母的
#5 [上德若谷ktt 06-01 15:08]
为什么我按你的写 点击lineedit还是弹不出键盘呢 我的代码是这样的
#include
//#include"mylineedit.h"
DialogNetSettings.h
namespace Ui {
class DialogNetSettings;
}
class DialogNetSettings : public QDialog
{
Q_OBJECT
public:
explicit DialogNetSettings(QWidget *parent = 0);
~DialogNetSettings();
private:
Ui::DialogNetSettings *ui;
private slots:
void on_pushButton_4_clicked();
void on_pushButton_3_clicked();
void keyBoard();//tanchu 弹出键盘,输入IP
};
DialogNetSettings.h
DialogNetSettings::DialogNetSettings(QWidget *parent) :
QDialog(parent),
ui(new Ui::DialogNetSettings)
{
ui->setupUi(this);
connect(ui->ipEdit, SIGNAL(editSignal()), this, SLOT(keyBoard()));
//DialogKey *key = new DialogKey(this);
//key->setWindowFlags(Qt::WindowStaysOnTopHint);
//key->showFullScreen();
//key->setFocus();
}
DialogNetSettings::~DialogNetSettings()
{
delete ui;
}
void DialogNetSettings::on_pushButton_3_clicked()
{
ui->stackedWidget->setCurrentIndex(0);
}
void DialogNetSettings::on_pushButton_4_clicked()
{
ui->stackedWidget->setCurrentIndex(1);
}
void DialogNetSettings::keyBoard()
{
DialogKey *key = new DialogKey(this);
key->setWindowFlags(Qt::WindowStaysOnTopHint);
key->showFullScreen();
key->setFocus();
}

<< 1 2 >> (1/2)

回复 发表
主题 版块