如何使用Qt实现纯数字键盘

gaimao54636 8 0 rar 2023-06-22 06:06:06

include "keyboard.h" #include "ui_keyboard.h"

include

include

keyboard::keyboard(QWidget parent) : QDialog(parent), ui(new Ui::keyboard)

{

this->setWindowFlags(Qt::FramelessWindowHint);

this->setWindowModality(Qt::ApplicationModal);

ui->setupUi(this);

this->setWindowTitle("设置值");

QPushButton groupbtn[13]={ui->m_zinum1,ui->m_zinum2,ui->m_zinum3,ui->m_zinum4,

ui->m_zinum5,ui->m_zinum6,ui->m_zinum7,ui->m_zinum8,

//实现纯数字键盘的代码
QList<;QPushButton *> buttons = this->;findChildren<;QPushButton *>();
for (int i = 0; i <; buttons.size(); ++i) {
    if (buttons[i]->;text() == "0" ||
        buttons[i]->;text() == "1" ||
        buttons[i]->;text() == "2" ||
        buttons[i]->;text() == "3" ||
        buttons[i]->;text() == "4" ||
        buttons[i]->;text() == "5" ||
        buttons[i]->;text() == "6" ||
        buttons[i]->;text() == "7" ||
        buttons[i]->;text() == "8" ||
        buttons[i]->;text() == "9")
    {
        connect(buttons[i],SIGNAL(clicked()),this,SLOT(EnterValue()));
    }
}

}

//按下数字键向文本框输入数字

void keyboard::EnterValue()

{

QPushButton* clickedButton = qobject_cast(sender());

if(clickedButton != NULL){

QString text = clickedButton->text();

if (lineEdit && text.size() == 1){

int iValue = text.toInt();

lineEdit->insert(QString::number(iValue));

emit EnterClicked();

}

}

}

用户评论
请输入评论内容
评分:
暂无评论