1.自定义文本输入框
#ifndef MYLINEEDIT_H #define MYLINEEDIT_H #include <QLineEdit> #include "ui_mylineedit.h" class MyLineEdit : public QLineEdit { Q_OBJECT public: MyLineEdit(QWidget *parent = 0); ~MyLineEdit(); private: void focusOutEvent(QFocusEvent *) Q_DECL_OVERRIDE; private: Ui::MyLineEdit ui; }; #endif // MYLINEEDIT_H
void MyLineEdit::focusOutEvent(QFocusEvent *event){ QLineEdit::focusOutEvent(event); QString curText = text(); QString str = curText.replace(QStringLiteral("°"), ",").replace(QStringLiteral("′"), ",").replace(QStringLiteral("″"), ""); QStringList listStr = str.split(","); if (listStr.size() != 3) return; bool isD = false, isF = false, isM = false; int d = listStr[0].toInt(&isD); int f = listStr[1].toInt(&isF); int m = listStr[2].toInt(&isM); if (!isD || !isF || !isM) return; setText(QString::number(d + f / 60.0 + m / 3600.0)); }
2.提升QLineEdit
已经工作的程序员朋友可以关注下我的gzh“程序员成长日志”,分享日常工作中解决的问题即可赚取稿费,大家一起成长~