discuz培训网站模板下载,怎样搭建一个个人网站,做一个网站怎么做的,开发小程序商城多少钱一.输入框集合
QLineEdit是一个单行文本编辑控件。 使用者可以通过很多函数#xff0c;输入和编辑单行文本#xff0c;比如撤销、恢复、剪切、粘贴以及拖放等。 通过改变QLineEdit的 echoMode() #xff0c;可以设置其属性#xff0c;比如以密码的形式输入。 文本的长度可…一.输入框集合
QLineEdit是一个单行文本编辑控件。 使用者可以通过很多函数输入和编辑单行文本比如撤销、恢复、剪切、粘贴以及拖放等。 通过改变QLineEdit的 echoMode() 可以设置其属性比如以密码的形式输入。 文本的长度可以由 maxLength() 限制可以通过使用 validator() 或者 inputMask() 可以限制它只能输入数字。在对同一个QLineEdit的validator或者input mask进行转换时最好先将它的validator或者input mask清除以避免错误发生。 与QLineEdit相关的一个类是QTextEdit它允许多行文字以及富文本编辑。 我们可以使用 setText() 或者 insert() 改变其中的文本通过 text() 获得文本通过 displayText() 获得显示的文本使用 setSelection() 或者 selectAll() 选中文本选中的文本可以通过cut()、copy()、paste()进行剪切、复制和粘贴使用 setAlignment() 设置文本的位置。 文本改变时会发出 textChanged() 信号如果不是由setText()造成文本的改变那么会发出textEdit()信号鼠标光标改变时会发出cursorPostionChanged()信号当返回键或者回车键按下时会发出returnPressed()信号。 当编辑结束或者LineEdit失去了焦点或者当返回/回车键按下时editFinished()信号将会发出。 /*** brief 输入编辑框*/QListQLineEdit* _inputEdit;//1.存入集合_inputEdit { ui-a1s, ui-a2s, ui-b1s, ui-b2s, ui-a1m, ui-a2m, ui-b1m, ui-b2m, ui-a1e, ui-a2e, ui-b1e, ui-b2e };//2. 遍历集合大小当前的//回车后 编辑框光标后移for (int i 0; i _inputEdit.size(); i) {// 连接 returnPressed 信号到槽函数处理光标下移if (i _inputEdit.size() - 1) {QObject::connect(_inputEdit.at(i), QLineEdit::returnPressed, []() {_inputEdit.at(i 1)-setFocus();});}}//3. 遍历 _inputEdit 集合并清空每个 QLineEdit 控件的内容for (auto* lineEdit : _inputEdit) {if (lineEdit ! nullptr) {lineEdit-clear();}}//4.for (const auto edit : this-_inputEdit) {if (edit-text().isEmpty()) {Toast::ShowTip(缺少输入数据不能计算);return;}}//5.遍历所有QLineEdit设置只读。for (auto edit : this-findChildrenQLineEdit*()) {edit-setReadOnly(true);}二.QjsonObject
//1.把QMap的key与value赋值给QJsonObjectQJsonObject totalJson;for (auto it X_dianeter.cbegin(); it ! X_dianeter.cend(); it) {QString newKey $$ it.key() $$;totalJson[newKey] QString::number(it.value());}三.利用Utils进行json读写
void MilitaryLaboratoryInformation::loadJsonData(const QString filePath)
{//1.把读取的结果存入objauto obj Utils::ReadJsonFile(filePath);if (!obj.has_value()) {return;}//obj.valueQjsonObject//obj.value[edit-objectName]QjsonObject[QLineEdit名称]//2.this-findChildrenQLineEdit*去查找页面中的QLineEdit把变量存入edit。for (auto edit : this-findChildrenQLineEdit*()) {if (obj.value().contains(edit-objectName())) {edit-setText(obj.value()[edit-objectName()].toString());}}
}//2.QPairstd::optionalQJsonObject, QString CalibrationWidget::theodoliteSubmitResultReplaceJson(QJsonObject obj){QStringList keys {照准部旋转正确性,视轴与横轴的垂直度,横轴与竖轴的垂直度,竖盘指标差,望远镜调焦运行误差,一测回水平方向标准偏差,一测回竖直角测角标准偏差};for (const QString key : keys) {if (!obj.contains(key) || obj.value(key).isNull() || obj.value(key).toString().isEmpty()) {return QPairstd::optionalQJsonObject, QString(std::nullopt, key 缺失或为空);}}QJsonObject replaceJson;replaceJson.insert($$RIGHT$$, obj.value(照准部旋转正确性).toString());replaceJson.insert($$SHV$$, obj.value(视轴与横轴的垂直度).toString());replaceJson.insert($$VHV$$, obj.value(横轴与竖轴的垂直度).toString());replaceJson.insert($$VD$$, obj.value(竖盘指标差).toString());replaceJson.insert($$SCOPE$$, obj.value(望远镜调焦运行误差).toString());replaceJson.insert($$H$$, obj.value(一测回水平方向标准偏差).toString());replaceJson.insert($$V$$, obj.value(一测回竖直角测角标准偏差).toString());return QPairstd::optionalQJsonObject, QString(replaceJson, QString());}//遍历后返回QPairstd::optionalQJsonObject,QString的值auto commitResut theodoliteSubmitResultReplaceJson(opt.value());if (commitResut.first.has_value()) {Utils::Append(obj, Utils::Merge({ commitResut.first.value() }));} else {TOAST_TIP(commitResut.second);return;}