本文主要是介绍QT-数字软键盘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、演示效果
二、关键程序
关键槽函数代码如下:
ivoid NumKeyboard::slotNumClick()
{m_strText = ui.lineEdit->text();QPushButton *btn = qobject_cast<QPushButton *>(sender());QString strObjectName = sender()->objectName();if (strObjectName == QString("btnLeft")){int idx = ui.lineEdit->cursorPosition();if (idx == 0){ui.lineEdit->setCursorPosition(idx);ui.lineEdit->setFocus();return;}m_strText.remove(idx - 1, 1);ui.lineEdit->setText(m_strText);}else if (strObjectName == QString("btnPoint")){int idx = ui.lineEdit->cursorPosition();m_strText.insert(idx, QString("."));ui.lineEdit->setText(m_strText);ui.lineEdit->setCursorPosition(idx + 1);}else{for (size_t i = 0; i < 10; i++){QString strName = QString("btn%1").arg(i);if (strName == strObjectName){//光标的位置索引int idx = ui.lineEdit->cursorPosition(); m_strText.insert(idx,QString("%1").arg(i)); ui.lineEdit->setText(m_strText); ui.lineEdit->setCursorPosition(idx + 1);break;}}}ui.lineEdit->setFocus();
}
三、代码链接
程序链接
https://download.csdn.net/download/u013083044/82588476
这篇关于QT-数字软键盘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!