cywl |
2016-05-12 00:09 |
关于设置好默认按钮,在QLineEdit中输入按下Enter无用的问题
我了想设计一个输入数据在乘以2输出显示的程序,向设置Enter键来直接引发计算,但是按下Enter键后没有任何反应,求大神帮助 下面是我写的代码 calculate.h #ifndef CALCULATE_H #define CALCULATE_H #include <QWidget> #include <QLabel> #include <QPushButton> #include <QLineEdit> #include <QString> class Calculate : public QWidget { Q_OBJECT public: Calculate(QWidget * parent = 0); ~Calculate(); private slots: void display(); private: QPushButton * submitButton; QLabel * infolabel; QLabel * displayLabel; QLineEdit * resultLineEdit; }; #endif // CALCULATE_H
calculate.cpp #include "calculate.h" #include <QWidget> #include <QLabel> #include <QPushButton> #include <QLineEdit> #include <QHBoxLayout> #include <QVBoxLayout> #include <QString> Calculate::Calculate(QWidget * parent) : QWidget (parent) { infolabel = new QLabel(tr("请输入半径:")); displayLabel = new QLabel; resultLineEdit = new QLineEdit; submitButton = new QPushButton; submitButton->setText(tr("确认")); submitButton->setFocus(); submitButton->setDefault(true); connect(submitButton,SIGNAL(clicked(bool)), this, SLOT(display())); QHBoxLayout * topLayout = new QHBoxLayout; topLayout -> addWidget(infolabel); t opLayout -> addWidget(resultLineEdit); QHBoxLayout * buttomLayout = new QHBoxLayout; buttomLayout -> addWidget(displayLabel); buttomLayout -> addWidget(submitButton); QVBoxLayout * mainLayout = new QVBoxLayout; mainLayout -> addLayout(topLayout); mainLayout -> addLayout(buttomLayout);
setLayout(mainLayout);} Calculate::~Calculate() { } void Calculate::display() { QString variantofresult; variantofresult = resultLineEdit -> text(); double value = variantofresult.toDouble(); value *= 2; variantofresult = variantofresult.setNum(value); displayLabel -> setText(variantofresult); } 下面是运行结果 [attachment=15171]
在QLineEdit中输入数据后按下Enter键没有作用 并不显示结果; 求大神指导指导 |
|