diff --git a/Cigarette/Cigarette.vcxproj b/Cigarette/Cigarette.vcxproj index 5d0c458..2953400 100644 --- a/Cigarette/Cigarette.vcxproj +++ b/Cigarette/Cigarette.vcxproj @@ -133,7 +133,7 @@ true true stdcpp14 - MaxSpeed + Disabled false 4819;%(DisableSpecificWarnings) @@ -141,7 +141,7 @@ Console $(OutDir)\$(ProjectName).exe $(QTDIR)\lib;$(ProjectDir)OpenCV455Simple\win64\vc15\lib;$(ProjectDir)Pylon6.2\lib\Win64;$(ProjectDir)MvIMPACT\lib\win64;$(ProjectDir)MVS3.2.1\lib\win64;$(ProjectDir)modbus;%(AdditionalLibraryDirectories) - false + true qtmain.lib;Qt5Core.lib;Qt5Widgets.lib;Qt5Gui.lib;opencv_world455.lib;modbus.lib;mvDeviceManager.lib;MvCameraControl.lib;Qt5Network.lib;%(AdditionalDependencies) diff --git a/Cigarette/alg_jd.cpp b/Cigarette/alg_jd.cpp index 965fc5f..20a23c2 100644 --- a/Cigarette/alg_jd.cpp +++ b/Cigarette/alg_jd.cpp @@ -17,18 +17,21 @@ bool AlgJd::init(QString model_path, QString model_name) std::string classesFile; cv::String modelConfiguration; cv::String modelWeights; + QString image_path; if (model_path.length() > 0 && model_name.length() > 0) { // 拼凑的模型文件路径 modelWeights = model_path.toStdString() + "/" + model_name.toStdString(); modelConfiguration = model_path.toStdString() + "/jd.cfg"; classesFile = model_path.toStdString() + "/jd.names"; + image_path = model_path + "/" + "alg_jd.bmp"; } else { modelWeights = "D:/model/jd.weights"; classesFile = "D:/model/jd.names"; // Give the configuration and weight files for the model modelConfiguration = "D:/model/jd.cfg"; + image_path = "D:/model/alg_jd.bmp"; } std::ifstream classNamesFile(classesFile.c_str()); @@ -49,13 +52,13 @@ bool AlgJd::init(QString model_path, QString model_name) net.setPreferableTarget(cv::dnn::DNN_TARGET_CUDA); //cv::Mat image = cv::imread("alg_jd.bmp"); - cv::Mat image; - if (g_sys_conf.model_jpg_path.length() > 0) { + cv::Mat image = cv::imread(image_path.toStdString()); + /*if (g_sys_conf.model_jpg_path.length() > 0) { image = cv::imread(g_sys_conf.model_jpg_path.toStdString()); } else { image = cv::imread("D:/Release/alg_jd.bmp"); - } + }*/ //识别一张图,测试模型是否正确,并且完成GPU数据加载 if (!image.data) return false; //判断测试图片是否正常读取 diff --git a/Cigarette/cigarette.cpp b/Cigarette/cigarette.cpp index 7a66cf4..c6f9d23 100644 --- a/Cigarette/cigarette.cpp +++ b/Cigarette/cigarette.cpp @@ -6,7 +6,6 @@ #include #include #include -#include #include "exportData.h" int g_op_time; //操作员权限时长(默认300秒) @@ -103,6 +102,7 @@ Cigarette::Cigarette(QWidget *parent) ui.setupUi(this); InitPtrMat(); read_conf(g_conf_path); + if (!g_conf_path.config_path.isEmpty()) { // 如果非空 QDir* dirinfo = new QDir(g_conf_path.config_path); @@ -110,20 +110,11 @@ Cigarette::Cigarette(QWidget *parent) // 如果文件夹信息不存在 delete dirinfo, dirinfo = nullptr; g_conf_path.config_path = "D:/conf"; - g_conf_path.config_name = "conf.txt"; - } - - if (g_conf_path.config_name.isEmpty()) { - g_conf_path.config_name = "conf.txt"; } delete dirinfo, dirinfo = nullptr; } - else { - // 如果路径空 + else g_conf_path.config_path = "D:/conf"; - if (g_conf_path.config_name.isEmpty()) - g_conf_path.config_name = "conf.txt"; - } bool update_rotate = false; if (!read_rotate_message()) { @@ -227,12 +218,7 @@ Cigarette::Cigarette(QWidget *parent) quantity_stop_count = 0; g_seconds = 0; - QString config_path; - if (g_conf_path.config_path.isEmpty() || g_conf_path.config_name.isEmpty()) { - g_conf_path.config_path = "D:/conf"; - g_conf_path.config_name = "conf.txt"; - } - config_path = g_conf_path.config_path + "/" + g_conf_path.config_name; + QString config_path = g_conf_path.config_path + "/conf.txt"; read_sys_config(g_sys_conf, config_path); //初始化系统配置 #if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>0) @@ -1016,7 +1002,8 @@ void Cigarette::OnKey(QKeyEvent* event) char buf[256]; memset(buf, 0, 256); sprintf(buf, SELECT_RECTS_FILE, Num,Cnt); - cfg_file.open(g_conf_path.config_path.toStdString() + "/" + buf, ios::trunc | ofstream::out); + QString rects_file = g_conf_path.config_path + "/" + buf; + cfg_file.open(rects_file.toLocal8Bit().constData(), ios::trunc | ofstream::out); if (!cfg_file.is_open()) { std::cout << "Error: Open config file SelectRects.txt" << std::endl; @@ -1163,7 +1150,8 @@ void Cigarette::DrawRect_init(int Num_Cnt) { char buf[256]; memset(buf, 0, 256); sprintf(buf, SELECT_RECTS_FILE, Num, Cnt); - cfg_file.open(g_conf_path.config_path.toStdString() + "/" + buf); + QString rects_file = g_conf_path.config_path + "/" + buf; + cfg_file.open(rects_file.toLocal8Bit().constData()); if (!cfg_file.is_open()) { std::cout << "Error: Open config file SelectRects"<" << str << std::endl; + //std::cout << "===>" << str << std::endl; system(str.c_str()); } @@ -2332,13 +2322,17 @@ bool Cigarette::read_conf(ConfPath &conf_path) { size_t pos = line.find('='); std::string tmp_key = line.substr(0, pos); if (tmp_key == "CONF_PATH") { - conf_path.config_path = line.substr(pos + 1).c_str(); - } - else if (tmp_key == "CONF_NAME") { - conf_path.config_name = line.substr(pos + 1).c_str(); + std::string str = line.substr(pos + 1).c_str(); + std::wstring w_str = String2WString(str); + conf_path.config_path = QString::fromStdWString(w_str); } + //else if (tmp_key == "CONF_NAME") { + // conf_path.config_name = line.substr(pos + 1).c_str(); + //} else if (tmp_key == "SAVE_PICS_PATH") { - conf_path.save_pics_path = line.substr(pos + 1).c_str(); + std::string str = line.substr(pos + 1).c_str(); + std::wstring w_str = String2WString(str); + conf_path.save_pics_path = QString::fromStdWString(w_str); } } } @@ -2349,7 +2343,7 @@ bool Cigarette::read_conf(ConfPath &conf_path) { bool Cigarette::read_sys_config(SysConf &conf, QString conf_path) { std::fstream cfg_file; - cfg_file.open(conf_path.toStdString()); + cfg_file.open(conf_path.toLocal8Bit().constData()); if (!cfg_file.is_open()) { std::cout << "Error: Open config file " << conf_path.toStdString() << std::endl; @@ -2735,7 +2729,8 @@ bool Cigarette::read_sys_config(SysConf &conf, QString conf_path) bool Cigarette::read_modbus_config(ModbusConf &conf) { std::fstream cfg_file; - cfg_file.open(g_conf_path.config_path.toStdString() + "/" + MODBUS_CONFIGURE_FILE); + QString modbus_file = g_conf_path.config_path + "/" + MODBUS_CONFIGURE_FILE; + cfg_file.open(modbus_file.toLocal8Bit().constData()); if (!cfg_file.is_open()) { std::cout << "Error: Open config file " << MODBUS_CONFIGURE_FILE << std::endl; @@ -2841,7 +2836,7 @@ bool Cigarette::read_rotate_message() { std::fstream cfg_file; QString rotate_file = g_conf_path.config_path + "/" + ROTATE_FILE; - cfg_file.open(rotate_file.toStdString()); + cfg_file.open(rotate_file.toLocal8Bit().constData()); if (!cfg_file.is_open()) { std::cout << "Error: Open config file rotate.txt" << std::endl; @@ -2878,7 +2873,7 @@ bool Cigarette::save_rotate_message() { std::fstream cfg_file; QString rotate_file = g_conf_path.config_path + "/" + ROTATE_FILE; - cfg_file.open(rotate_file.toStdString(), ios::trunc | ofstream::out); + cfg_file.open(rotate_file.toLocal8Bit().constData(), ios::trunc | ofstream::out); if (!cfg_file.is_open()) { std::cout << "Error: Open config file rotate.txt" << std::endl; @@ -2960,7 +2955,8 @@ QImage Cigarette::cvMatToQImage(const cv::Mat& mat) void Cigarette::read_plc_items() { std::fstream cfg_file; - cfg_file.open(g_conf_path.config_path.toStdString() + "/" + PLC_CONFIG_FILE); + QString plc_file = g_conf_path.config_path + "/" + PLC_CONFIG_FILE; + cfg_file.open(plc_file.toLocal8Bit().constData()); if (!cfg_file.is_open()) { std::cout << "Error: Open production file " << PLC_CONFIG_FILE << std::endl; @@ -3808,9 +3804,9 @@ void Cigarette::record_output_statistic(qint64 quantity, int Kick[NumberOfSuppor sprintf(str, STATISTIC_FILE, i); char buf[256]; memset(buf, 0, 256); - sprintf(buf, "%s/%s", g_conf_path.config_path, str); + sprintf(buf, "%s/%s", g_conf_path.config_path.toLocal8Bit().constData(), str); - std::cout<<"===buf>"<"<Release(); } return folderpath; +} + +std::string UTF8ToGBK(std::string utf8_str) { + // 鑾峰緱涓存椂鍙橀噺鐨勫ぇ灏 + int wchar_len = MultiByteToWideChar(CP_UTF8, 0, utf8_str.c_str(), -1, NULL, 0); + wchar_t *wchar_buf = new wchar_t[wchar_len]; + MultiByteToWideChar(CP_UTF8, 0, utf8_str.c_str(), -1, wchar_buf, wchar_len); + + // 鑾峰緱涓存椂鍙橀噺鐨勫ぇ灏 + int char_len = WideCharToMultiByte(CP_ACP, 0, wchar_buf, -1, NULL, 0, NULL, NULL); + char* char_buf = new char[char_len]; + WideCharToMultiByte(CP_ACP, 0, wchar_buf, -1, char_buf, char_len, NULL, NULL); + + std::string gbk_str(char_buf); + delete[] wchar_buf; + delete[] char_buf; + + return gbk_str; +} + +void stdString2QString(std::string str, QString& qs) { + qs = QString::fromLocal8Bit(QByteArray::fromRawData(str.c_str(), str.size())); +} +void QString2stdString(QString qs, std::string& str) { + str = qs.toLocal8Bit().constData(); +} + +std::string WString2String(const std::wstring& ws) { + // 杩涜鍦板煙璁剧疆锛"" 琛ㄧず褰撳墠OS榛樿鐨勫湴鍩熻缃紝鎴愬姛鍒欒繑鍥炲綋鍓嶅湴鍩熻缃殑鍚嶇О + std::string strLocate = setlocale(LC_ALL, ""); + const wchar_t* wchSrc = ws.c_str(); + size_t nDestSize = wcstombs(NULL, wchSrc, 0) + 1; + char* chDest = new char[nDestSize]; + memset(chDest, 0, nDestSize); + wcstombs(chDest, wchSrc, nDestSize); + std::string strResult = chDest; + delete[] chDest; + setlocale(LC_ALL, strLocate.c_str()); + return strResult; +} + +std::wstring String2WString(const std::string& str) { + std::wstring wContext = L""; + int len = MultiByteToWideChar(CP_ACP, 0, str.c_str(), str.size(), NULL, 0); + WCHAR* buffer = new WCHAR[len + 1]; + MultiByteToWideChar(CP_ACP, 0, str.c_str(), str.size(), buffer, len); + buffer[len] = '\0'; + wContext.append(buffer); + delete[] buffer; + return wContext; +} + +std::vector SpiteStringCharacter(std::string context) { + std::vector res; + std::wstring wContext = String2WString(context); + for (int i = 0; i < wContext.length(); i++) { + std::wstring tmp = wContext.substr(i, 1); + res.push_back(WString2String(tmp)); + } + return res; } \ No newline at end of file diff --git a/Cigarette/common.h b/Cigarette/common.h index 605153e..b0389af 100644 --- a/Cigarette/common.h +++ b/Cigarette/common.h @@ -58,15 +58,20 @@ void getFiles(std::string path, std::vector& files); std::string SelectDirBRI(); std::string SelectFileOFN(); std::string SelectDirIFD(); +std::string UTF8ToGBK(std::string utf8_str); +std::string WString2String(const std::wstring& ws); +std::wstring String2WString(const std::string& str); +std::vector SpiteStringCharacter(std::string context); + class ConfPath { public: QString config_path; // 配置文件路径 - QString config_name; // 配置文件名 + //QString config_name; // 配置文件名 QString save_pics_path; // 保存图片存储路径 ConfPath(){ config_path = ""; - config_name = ""; + //config_name = ""; save_pics_path = ""; } }; diff --git a/Cigarette/dialogsetup.cpp b/Cigarette/dialogsetup.cpp index 1745c06..0e57bd8 100644 --- a/Cigarette/dialogsetup.cpp +++ b/Cigarette/dialogsetup.cpp @@ -57,37 +57,26 @@ DialogSetup::DialogSetup(QWidget * parent) : QDialog(parent) { } if (!g_conf_path.config_path.isEmpty()) { + // 濡傛灉閰嶇疆鏂囦欢瀛樺偍璺緞闈炵┖ QDir* dirinfo = new QDir(g_conf_path.config_path); - if (!dirinfo->exists()) + if (!dirinfo->exists()) { + // 濡傛灉鏂囦欢澶逛俊鎭笉瀛樺湪 delete dirinfo, dirinfo = nullptr; - dirinfo->setNameFilters(QStringList("*.txt")); + g_conf_path.config_path = "D:/conf"; + } + dirinfo->setNameFilters(QStringList("conf.txt")); QStringList fileList = dirinfo->entryList(QDir::Files); fileList.removeOne("."); fileList.removeOne(".."); - ui.comboBox_config_path->clear(); - - ui.comboBox_config_path->addItems(fileList); - if (!g_conf_path.config_name.isEmpty()) - ui.comboBox_config_path->setCurrentText(g_conf_path.config_name); - else { - g_conf_path.config_name = "conf.txt"; - ui.comboBox_config_path->setCurrentText(g_conf_path.config_name); - } - // 鏇存崲閫夋嫨鏂囦欢 - connect(ui.comboBox_config_path, SIGNAL(currentIndexChanged(int)), this, SLOT(onComboBoxConfSelect(int))); delete dirinfo, dirinfo = nullptr; } else { // 濡傛灉璺緞绌 g_conf_path.config_path = "D:/conf"; - if (!g_conf_path.config_name.isEmpty()) { - ui.comboBox_model_path->setCurrentText(g_conf_path.config_name); - } - else { - g_conf_path.config_name = "conf.txt"; - ui.comboBox_model_path->addItem(g_conf_path.config_name); - } } + ui.comboBox_config_path->addItem(g_conf_path.config_path); + // 鏇存崲閫夋嫨鏂囦欢 + connect(ui.comboBox_config_path, SIGNAL(currentIndexChanged(int)), this, SLOT(onComboBoxConfSelect(int))); if (!g_sys_conf.model_path.isEmpty()) { // 濡傛灉鏇剧粡閫夋嫨杩囨ā鍨嬫枃浠跺す @@ -105,8 +94,6 @@ DialogSetup::DialogSetup(QWidget * parent) : QDialog(parent) { // 濡傛灉鏇鹃夋嫨杩囨ā鍨嬶紝鍒欏湪comboBox鏄剧ず閫夋嫨妯″瀷鐨勬枃浠跺悕 ui.comboBox_model_path->setCurrentText(g_sys_conf.model_name); } - // 鏇存崲妯″瀷浜嬩欢 - connect(ui.comboBox_model_path, SIGNAL(currentIndexChanged(int)), this, SLOT(onComboBoxSelect(int))); delete dirinfo, dirinfo = nullptr; } else { @@ -116,6 +103,8 @@ DialogSetup::DialogSetup(QWidget * parent) : QDialog(parent) { ui.comboBox_model_path->addItem(g_sys_conf.model_name); } } + // 鏇存崲妯″瀷浜嬩欢 + connect(ui.comboBox_model_path, SIGNAL(currentIndexChanged(int)), this, SLOT(onComboBoxSelect(int))); if (!g_conf_path.save_pics_path.isEmpty()) { // 濡傛灉閰嶇疆鏂囦欢閲屼繚瀛樺浘鐗囪矾寰勯潪绌 @@ -128,8 +117,6 @@ DialogSetup::DialogSetup(QWidget * parent) : QDialog(parent) { ui.comboBox_save_pics_path->clear(); ui.comboBox_save_pics_path->addItem(g_conf_path.save_pics_path); - // 鏇存崲閫夋嫨鏂囦欢 - connect(ui.comboBox_save_pics_path, SIGNAL(currentIndexChanged(int)), this, SLOT(onComboBoxPicsPathSelect(int))); delete dirinfo, dirinfo = nullptr; } else { @@ -141,6 +128,9 @@ DialogSetup::DialogSetup(QWidget * parent) : QDialog(parent) { ui.comboBox_save_pics_path->setCurrentText(dirPath); g_conf_path.save_pics_path = dirPath; } + // 鏇存崲閫夋嫨鏂囦欢 + connect(ui.comboBox_save_pics_path, SIGNAL(currentIndexChanged(int)), this, SLOT(onComboBoxPicsPathSelect(int))); + switch (g_sys_conf.save) { @@ -171,12 +161,14 @@ void DialogSetup::onComboBoxPicsPathSelect(int index) { QString cp = ui.comboBox_save_pics_path->currentText(); //QMessageBox::information(this, QStringLiteral("鎻愮ず"), QStringLiteral("鎮ㄩ夋嫨鐨勯」涓") + cp, NULL); g_conf_path.save_pics_path = cp; + write_conf_path(); } void DialogSetup::onComboBoxConfSelect(int index) { QString cp = ui.comboBox_config_path->currentText(); //QMessageBox::information(this, QStringLiteral("鎻愮ず"), QStringLiteral("鎮ㄩ夋嫨鐨勯」涓") + cp, NULL); - g_conf_path.config_name = cp; + g_conf_path.config_path = cp; + write_conf_path(); } void DialogSetup::onComboBoxSelect(int index) { @@ -334,7 +326,6 @@ void DialogSetup::on_pushButton_save_released() g_sys_conf.filter[i] = (lineEdit_filter_mat[i]->text()).toInt(); } - write_conf_path(); write_config(); QMessageBox::information(NULL, QStringLiteral("鎻愮ず"), QStringLiteral("淇濆瓨鍙傛暟鎴愬姛,閮ㄥ垎閰嶇疆闇瑕侀噸鍚▼搴忓悗鐢熸晥"), QMessageBox::Ok); } @@ -367,35 +358,32 @@ void DialogSetup::on_toolButton_choose_config_path_released() { dirName = "D:/conf"; else dirName = g_conf_path.config_path; - - ui.comboBox_config_path->addItem(dirName); - - g_conf_path.config_path = dirName; - g_conf_path.config_name = "conf.txt"; } QDir* dirinfo = new QDir(dirName); if (!dirinfo->exists()) delete dirinfo, dirinfo = nullptr; - dirinfo->setNameFilters(QStringList("*.txt")); + + dirinfo->setNameFilters(QStringList("conf.txt")); QStringList fileList = dirinfo->entryList(QDir::Files); if (fileList.count() == 0) { - g_conf_path.config_path = "D:/conf"; - g_conf_path.config_name = "conf.txt"; + dirName = "D:/conf"; } - else { - g_conf_path.config_path = dirName; - g_conf_path.config_name = ui.comboBox_config_path->currentText(); - } - fileList.removeOne("."); - fileList.removeOne(".."); + //fileList.removeOne("."); + //fileList.removeOne(".."); - ui.comboBox_config_path->clear(); - ui.comboBox_config_path->addItems(fileList); - connect(ui.comboBox_config_path, SIGNAL(currentIndexChanged(int)), this, SLOT(onComboBoxConfSelect(int))); + QFileInfo fileInfo(dirName); + if (fileInfo.isDir() && ui.comboBox_config_path->findText(fileInfo.absoluteFilePath())) { + ui.comboBox_config_path->addItem(fileInfo.absoluteFilePath()); + ui.comboBox_config_path->setCurrentText(fileInfo.absoluteFilePath()); + } + + g_conf_path.config_path = dirName; + connect(ui.comboBox_config_path, SIGNAL(currentIndexChanged(int)), this, SLOT(onComboBoxConfSelect(int))); + write_conf_path(); delete dirinfo, dirinfo = nullptr; } @@ -463,6 +451,7 @@ void DialogSetup::on_toolButton_choose_save_pics_path_released() { connect(ui.comboBox_save_pics_path, SIGNAL(currentIndexChanged(int)), this, SLOT(onComboBoxPicsPathSelect(int))); delete dirinfo, dirinfo = nullptr; + write_conf_path(); } void DialogSetup::on_toolButton_choose_path_jpg_released() { @@ -510,13 +499,13 @@ void DialogSetup::write_conf_path() { if (cfg_file.good()) { char buf[256]; memset(buf, 0, 256); - sprintf(buf, "CONF_PATH=%s\n", g_conf_path.config_path.toStdString().c_str()); - cfg_file.write(buf, strlen(buf)); - memset(buf, 0, 256); - sprintf(buf, "CONF_NAME=%s\n", g_conf_path.config_name.toStdString().c_str()); + sprintf(buf, "CONF_PATH=%s\n", g_conf_path.config_path.toLocal8Bit().constData()); cfg_file.write(buf, strlen(buf)); + //memset(buf, 0, 256); + //sprintf(buf, "CONF_NAME=%s\n", g_conf_path.config_name.toStdString().c_str()); + //cfg_file.write(buf, strlen(buf)); memset(buf, 0, 256); - sprintf(buf, "SAVE_PICS_PATH=%s\n", g_conf_path.save_pics_path.toStdString().c_str()); + sprintf(buf, "SAVE_PICS_PATH=%s\n", g_conf_path.save_pics_path.toLocal8Bit().constData()); cfg_file.write(buf, strlen(buf)); } cfg_file.close(); @@ -524,8 +513,8 @@ void DialogSetup::write_conf_path() { void DialogSetup::write_config() { std::fstream cfg_file; - QString cfg_path = g_conf_path.config_path + "/" + g_conf_path.config_name; - cfg_file.open(cfg_path.toStdString().c_str(), std::ios::out | std::ios::trunc); + QString cfg_path = g_conf_path.config_path + "/conf.txt"; + cfg_file.open(cfg_path.toLocal8Bit().constData(), std::ios::out | std::ios::trunc); if (cfg_file.good()) { char buf[256]; @@ -578,7 +567,7 @@ void DialogSetup::write_config() sprintf(buf, "MODELPATH=%s\n", g_sys_conf.model_path.toStdString().c_str()); cfg_file.write(buf, strlen(buf)); memset(buf, 0, 256); - sprintf(buf, "MODELNAME=%s\n", g_sys_conf.model_name.toStdString().c_str()); + sprintf(buf, "MODELNAME=%s\n", g_sys_conf.model1_name.toStdString().c_str()); cfg_file.write(buf, strlen(buf)); memset(buf, 0, 256); sprintf(buf, "JPGPATH=%s\n", g_sys_conf.model_jpg_path.toStdString().c_str()); diff --git a/Cigarette/dialogsetup.hpp b/Cigarette/dialogsetup.hpp index 572be98..960b6a3 100644 --- a/Cigarette/dialogsetup.hpp +++ b/Cigarette/dialogsetup.hpp @@ -2,6 +2,7 @@ #include #include "ui_dialogsetup.h" #include "basecamera.h" +#include #include #include #include diff --git a/Cigarette/dialogsetup.ui b/Cigarette/dialogsetup.ui index 500681b..428eb61 100644 --- a/Cigarette/dialogsetup.ui +++ b/Cigarette/dialogsetup.ui @@ -6,8 +6,8 @@ 0 0 - 660 - 992 + 682 + 900 @@ -24,37 +24,22 @@ background-color: rgb(240, 240, 240); - + 0 0 - 661 - 1000 + 683 + 900 - - - 0 - 0 - - - - - 0 - 0 - - - - true - - + 0 0 - 670 - 977 + 681 + 901 @@ -65,37 +50,41 @@ - 670 - 900 + 0 + 0 - + + true + + - 10 - 60 - 641 - 61 + 0 + -122 + 670 + 1000 - - - 寰蒋闆呴粦 - 12 - 75 - true - + + + 0 + 0 + - - 鍚姩璁剧疆 + + + 670 + 1000 + - + - 30 - 30 - 220 - 22 + 10 + 60 + 641 + 61 @@ -106,17 +95,59 @@ true - - 鑷姩鎵撳紑鎵鏈夌浉鏈 - - - - - - 380 - 30 - 261 - 21 + + 鍚姩璁剧疆 + + + + + 30 + 30 + 220 + 22 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + 鑷姩鎵撳紑鎵鏈夌浉鏈 + + + + + + 380 + 30 + 261 + 21 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + 绋嬪簭鍚姩鍚庤嚜鍔ㄥ紑濮嬪伐浣 + + + + + + + 10 + 610 + 641 + 81 @@ -127,38 +158,173 @@ true - - 绋嬪簭鍚姩鍚庤嚜鍔ㄥ紑濮嬪伐浣 - - - - - - - 10 - 610 - 641 - 81 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 绠$悊鍛樺瘑鐮佷慨鏀 - - - - - 540 - 20 - 91 - 51 + + 绠$悊鍛樺瘑鐮佷慨鏀 + + + + + 540 + 20 + 91 + 51 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + 纭畾 + + + + + + 190 + 30 + 61 + 31 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + 鏂板瘑鐮侊細 + + + + + + 440 + 32 + 91 + 31 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + + + + QLineEdit::Password + + + + + + 250 + 30 + 101 + 31 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + + + + QLineEdit::Password + + + + + + 360 + 30 + 81 + 31 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + 纭瀵嗙爜锛 + + + + + + 90 + 30 + 91 + 31 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + + + + QLineEdit::Password + + + + + + 20 + 30 + 61 + 31 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + 鍘熷瘑鐮侊細 + + + + + + + 10 + 180 + 640 + 278 @@ -169,17 +335,710 @@ true - - 纭畾 - - - - - - 190 - 30 - 61 - 31 + + 鐩告満鍙傛暟 + + + + + 20 + 40 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 1#鐩告満鏇濆厜鏃堕棿(寰)锛 + + + + + + 210 + 40 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 210 + 70 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 20 + 70 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 2#鐩告満鏇濆厜鏃堕棿(寰)锛 + + + + + + 510 + 70 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 320 + 40 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 1#鐩告満妯℃嫙澧炵泭(0~64)锛 + + + + + + 320 + 70 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 2#鐩告満妯℃嫙澧炵泭(0~64)锛 + + + + + + 510 + 40 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 210 + 100 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 20 + 130 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 4#鐩告満鏇濆厜鏃堕棿(寰)锛 + + + + + + 210 + 130 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 20 + 100 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 3#鐩告満鏇濆厜鏃堕棿(寰)锛 + + + + + + 510 + 130 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 320 + 100 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 3#鐩告満妯℃嫙澧炵泭(0~64)锛 + + + + + + 320 + 130 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 4#鐩告満妯℃嫙澧炵泭(0~64)锛 + + + + + + 510 + 100 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 680 + 90 + 91 + 51 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + 纭畾 + + + + + + 20 + 160 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 5#鐩告満鏇濆厜鏃堕棿(寰)锛 + + + + + + 20 + 190 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 6#鐩告満鏇濆厜鏃堕棿(寰)锛 + + + + + + 20 + 220 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 7#鐩告満鏇濆厜鏃堕棿(寰)锛 + + + + + + 210 + 160 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 210 + 190 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 210 + 220 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 320 + 160 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 5#鐩告満妯℃嫙澧炵泭(0~64)锛 + + + + + + 320 + 190 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 6#鐩告満妯℃嫙澧炵泭(0~64)锛 + + + + + + 320 + 220 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 7#鐩告満妯℃嫙澧炵泭(0~64)锛 + + + + + + 510 + 160 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 510 + 190 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 510 + 220 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 20 + 250 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 8#鐩告満鏇濆厜鏃堕棿(寰)锛 + + + + + + 210 + 250 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 320 + 250 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 8#鐩告満妯℃嫙澧炵泭(0~64)锛 + + + + + + 510 + 250 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + + 10 + 770 + 641 + 148 @@ -190,17 +1049,374 @@ true - - 鏂板瘑鐮侊細 - - - - - - 440 - 32 - 91 - 31 + + 婊ゆ尝璁剧疆 + + + + + 20 + 30 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 1#鐩告満婊ゆ尝鏃堕棿(寰)锛 + + + + + + 210 + 30 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 510 + 30 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 320 + 30 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 2#鐩告満婊ゆ尝鏃堕棿(寰)锛 + + + + + + 510 + 60 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 20 + 60 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 3#鐩告満婊ゆ尝鏃堕棿(寰)锛 + + + + + + 210 + 60 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 320 + 60 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 4#鐩告満婊ゆ尝鏃堕棿(寰)锛 + + + + + + 680 + 50 + 91 + 51 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + 纭畾 + + + + + + 20 + 90 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 5#鐩告満婊ゆ尝鏃堕棿(寰)锛 + + + + + + 320 + 90 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 6#鐩告満婊ゆ尝鏃堕棿(寰)锛 + + + + + + 20 + 120 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 7#鐩告満婊ゆ尝鏃堕棿(寰)锛 + + + + + + 320 + 120 + 180 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + 8#鐩告満婊ゆ尝鏃堕棿(寰)锛 + + + + + + 210 + 90 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 210 + 120 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 510 + 90 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + 510 + 120 + 90 + 20 + + + + + 寰蒋闆呴粦 + 10 + 75 + true + + + + + + + + + + + 10 + 120 + 641 + 61 @@ -211,20 +1427,101 @@ true - - - - - QLineEdit::Password - - - - - - 250 - 30 - 101 - 31 + + 瀛樺浘璁剧疆 + + + + + 30 + 30 + 90 + 21 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + 涓嶅瓨 + + + + + + 230 + 30 + 90 + 21 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + 瀛楴G + + + + + + 440 + 30 + 90 + 21 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + 鍏ㄥ瓨 + + + + + + 570 + 25 + 50 + 30 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + 纭畾 + + + + + + + 110 + 930 + 131 + 51 @@ -236,19 +1533,16 @@ - - - - QLineEdit::Password + 淇濆瓨鍙傛暟 - + - 360 - 30 - 81 - 31 + 520 + 10 + 130 + 50 @@ -260,16 +1554,16 @@ - 纭瀵嗙爜锛 + 閫鍑虹郴缁 - + - 90 - 30 - 91 - 31 + 10 + 690 + 641 + 81 @@ -280,20 +1574,173 @@ true - - - - - QLineEdit::Password - - - - - - 20 - 30 - 61 - 31 + + 鎿嶄綔鍛樺瘑鐮佷慨鏀 + + + + + 190 + 30 + 61 + 31 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + 鏂板瘑鐮侊細 + + + + + + 440 + 32 + 91 + 31 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + + + + QLineEdit::Password + + + + + + 250 + 30 + 101 + 31 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + + + + QLineEdit::Password + + + + + + 360 + 30 + 81 + 31 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + 纭瀵嗙爜锛 + + + + + + 90 + 30 + 91 + 31 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + + + + QLineEdit::Password + + + + + + 20 + 30 + 61 + 31 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + 鍘熷瘑鐮侊細 + + + + + + 540 + 20 + 91 + 51 + + + + + 寰蒋闆呴粦 + 12 + 75 + true + + + + 纭畾 + + + + + + + 370 + 930 + 131 + 51 @@ -305,373 +1752,256 @@ - 鍘熷瘑鐮侊細 + 鍏抽棴绐楀彛 - - - - - 10 - 180 - 640 - 278 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 鐩告満鍙傛暟 - - + - 20 - 40 - 180 - 20 + 220 + 10 + 130 + 50 寰蒋闆呴粦 - 10 + 12 75 true - 1#鐩告満鏇濆厜鏃堕棿(寰)锛 + 鏄剧ず妗岄潰 - + - 210 - 40 - 90 - 20 + 110 + 10 + 91 + 41 寰蒋闆呴粦 - 10 + 12 75 true - - - - - - - - 210 - 70 - 90 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - + + border-image: url(:/Cigarette/Resources/keyboard.png); - + 20 - 70 - 180 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - 2#鐩告満鏇濆厜鏃堕棿(寰)锛 - - - - - - 510 - 70 - 90 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - - - - - - - 320 - 40 - 180 - 20 + 20 + 81 + 21 寰蒋闆呴粦 - 10 + 12 75 true - 1#鐩告満妯℃嫙澧炵泭(0~64)锛 + 绯荤粺璁剧疆 - + - 320 - 70 - 180 - 20 + 40 + 460 + 101 + 41 寰蒋闆呴粦 - 10 + 12 75 true - 2#鐩告満妯℃嫙澧炵泭(0~64)锛 + 閰嶆柟璁剧疆 - + - 510 - 40 - 90 - 20 + 40 + 560 + 101 + 41 寰蒋闆呴粦 - 10 + 12 75 true - + 鎹㈢彮璁剧疆 - + - 210 - 100 - 90 - 20 + 40 + 510 + 101 + 41 寰蒋闆呴粦 - 10 + 12 75 true - + 浜ч噺缁熻 - + - 20 - 130 - 180 - 20 + 620 + 470 + 27 + 25 寰蒋闆呴粦 - 10 - 75 - true - 4#鐩告満鏇濆厜鏃堕棿(寰)锛 + ... - + - 210 - 130 - 90 - 20 + 190 + 470 + 171 + 30 寰蒋闆呴粦 - 10 + 12 75 true - - - - - - - 20 - 100 - 180 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - + 妯″瀷瀛樺偍璺緞 - - 3#鐩告満鏇濆厜鏃堕棿(寰)锛 + + Qt::AlignCenter - + - 510 - 130 - 90 - 20 + 370 + 470 + 241 + 30 寰蒋闆呴粦 10 - 75 - true - - - - + - 320 - 100 - 180 - 20 + 340 + 1020 + 91 + 21 寰蒋闆呴粦 - 10 75 true - 3#鐩告満妯℃嫙澧炵泭(0~64)锛 + 鍥剧墖瀛樺偍璺緞 - + - 320 - 130 - 180 - 20 + 440 + 1020 + 171 + 25 寰蒋闆呴粦 - 10 - 75 - true - - 4#鐩告満妯℃嫙澧炵泭(0~64)锛 - - + - 510 - 100 - 90 - 20 + 620 + 1020 + 27 + 26 寰蒋闆呴粦 - 10 - 75 - true - + ... - + - 680 - 90 - 91 - 51 + 370 + 10 + 130 + 50 @@ -683,1485 +2013,165 @@ - 纭畾 + 娓呯悊鍥剧墖 - + - 20 - 160 - 180 - 20 + 520 + 930 + 131 + 21 寰蒋闆呴粦 - 10 75 true - 5#鐩告満鏇濆厜鏃堕棿(寰)锛 + 娴嬭瘯鍗曞紶鍥剧墖 - + - 20 - 190 - 180 - 20 + 520 + 960 + 131 + 21 寰蒋闆呴粦 - 10 75 true - 6#鐩告満鏇濆厜鏃堕棿(寰)锛 + 娴嬭瘯澶氬紶鍥剧墖 - + - 20 - 220 - 180 - 20 + 190 + 520 + 171 + 30 寰蒋闆呴粦 - 10 + 12 75 true - 7#鐩告満鏇濆厜鏃堕棿(寰)锛 - - - - - - 210 - 160 - 90 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - + 閰嶇疆鏂囦欢瀛樺偍璺緞 - - + + Qt::AlignCenter - + - 210 - 190 - 90 - 20 + 370 + 520 + 241 + 30 寰蒋闆呴粦 10 - 75 - true - - - - + - 210 - 220 - 90 - 20 + 620 + 520 + 27 + 25 寰蒋闆呴粦 - 10 - 75 - true - + ... - + - 320 - 160 - 180 - 20 + 190 + 570 + 171 + 30 寰蒋闆呴粦 - 10 + 12 75 true - 5#鐩告満妯℃嫙澧炵泭(0~64)锛 - - - - - - 320 - 190 - 180 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - + 鍥剧墖瀛樺偍璺緞 - - 6#鐩告満妯℃嫙澧炵泭(0~64)锛 + + Qt::AlignCenter - + - 320 - 220 - 180 - 20 + 370 + 570 + 241 + 30 寰蒋闆呴粦 10 - 75 - true - - 7#鐩告満妯℃嫙澧炵泭(0~64)锛 - - + - 510 - 160 - 90 - 20 + 620 + 570 + 27 + 25 寰蒋闆呴粦 - 10 - 75 - true - + ... - - - - 510 - 190 - 90 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - - - - - - - 510 - 220 - 90 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - - - - - - - 20 - 250 - 180 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - 8#鐩告満鏇濆厜鏃堕棿(寰)锛 - - - - - - 210 - 250 - 90 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - - - - - - - 320 - 250 - 180 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - 8#鐩告満妯℃嫙澧炵泭(0~64)锛 - - - - - - 510 - 250 - 90 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - - - - - - - - 10 - 770 - 641 - 148 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 婊ゆ尝璁剧疆 - - - - - 20 - 30 - 180 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - 1#鐩告満婊ゆ尝鏃堕棿(寰)锛 - - - - - - 210 - 30 - 90 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - - - - - - - 510 - 30 - 90 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - - - - - - - 320 - 30 - 180 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - 2#鐩告満婊ゆ尝鏃堕棿(寰)锛 - - - - - - 510 - 60 - 90 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - - - - - - - 20 - 60 - 180 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - 3#鐩告満婊ゆ尝鏃堕棿(寰)锛 - - - - - - 210 - 60 - 90 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - - - - - - - 320 - 60 - 180 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - 4#鐩告満婊ゆ尝鏃堕棿(寰)锛 - - - - - - 680 - 50 - 91 - 51 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 纭畾 - - - - - - 20 - 90 - 180 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - 5#鐩告満婊ゆ尝鏃堕棿(寰)锛 - - - - - - 320 - 90 - 180 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - 6#鐩告満婊ゆ尝鏃堕棿(寰)锛 - - - - - - 20 - 120 - 180 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - 7#鐩告満婊ゆ尝鏃堕棿(寰)锛 - - - - - - 320 - 120 - 180 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - 8#鐩告満婊ゆ尝鏃堕棿(寰)锛 - - - - - - 210 - 90 - 90 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - - - - - - - 210 - 120 - 90 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - - - - - - - 510 - 90 - 90 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - - - - - - - 510 - 120 - 90 - 20 - - - - - 寰蒋闆呴粦 - 10 - 75 - true - - - - - - - - - - - 10 - 120 - 641 - 61 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 瀛樺浘璁剧疆 - - - - - 30 - 30 - 90 - 21 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 涓嶅瓨 - - - - - - 230 - 30 - 90 - 21 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 瀛楴G - - - - - - 440 - 30 - 90 - 21 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 鍏ㄥ瓨 - - - - - - 570 - 25 - 50 - 30 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 纭畾 - - - - - - - 110 - 930 - 131 - 51 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 淇濆瓨鍙傛暟 - - - - - - 520 - 10 - 130 - 50 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 閫鍑虹郴缁 - - - - - - 10 - 690 - 641 - 81 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 鎿嶄綔鍛樺瘑鐮佷慨鏀 - - - - - 190 - 30 - 61 - 31 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 鏂板瘑鐮侊細 - - - - - - 440 - 32 - 91 - 31 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - - - - QLineEdit::Password - - - - - - 250 - 30 - 101 - 31 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - - - - QLineEdit::Password - - - - - - 360 - 30 - 81 - 31 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 纭瀵嗙爜锛 - - - - - - 90 - 30 - 91 - 31 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - - - - QLineEdit::Password - - - - - - 20 - 30 - 61 - 31 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 鍘熷瘑鐮侊細 - - - - - - 540 - 20 - 91 - 51 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 纭畾 - - - - - - - 370 - 930 - 131 - 51 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 鍏抽棴绐楀彛 - - - - - - 220 - 10 - 130 - 50 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 鏄剧ず妗岄潰 - - - - - - 110 - 10 - 91 - 41 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - border-image: url(:/Cigarette/Resources/keyboard.png); - - - - - - - - - 20 - 20 - 81 - 21 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 绯荤粺璁剧疆 - - - - - - 40 - 460 - 101 - 41 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 閰嶆柟璁剧疆 - - - - - - 40 - 560 - 101 - 41 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 鎹㈢彮璁剧疆 - - - - - - 40 - 510 - 101 - 41 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 浜ч噺缁熻 - - - - - - 620 - 470 - 27 - 25 - - - - - 寰蒋闆呴粦 - - - - ... - - - - - - 190 - 470 - 171 - 30 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 妯″瀷瀛樺偍璺緞 - - - Qt::AlignCenter - - - - - - 370 - 470 - 241 - 30 - - - - - 寰蒋闆呴粦 - 10 - - - - - - - 340 - 1020 - 91 - 21 - - - - - 寰蒋闆呴粦 - 75 - true - - - - 鍥剧墖瀛樺偍璺緞 - - - - - - 440 - 1020 - 171 - 25 - - - - - 寰蒋闆呴粦 - - - - - - - 620 - 1020 - 27 - 26 - - - - - 寰蒋闆呴粦 - - - - ... - - - - - - 370 - 10 - 130 - 50 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 娓呯悊鍥剧墖 - - - - - - 520 - 930 - 131 - 21 - - - - - 寰蒋闆呴粦 - 75 - true - - - - 娴嬭瘯鍗曞紶鍥剧墖 - - - - - - 520 - 960 - 131 - 21 - - - - - 寰蒋闆呴粦 - 75 - true - - - - 娴嬭瘯澶氬紶鍥剧墖 - - - - - - 190 - 520 - 171 - 30 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 閰嶇疆鏂囦欢瀛樺偍璺緞 - - - Qt::AlignCenter - - - - - - 370 - 520 - 241 - 30 - - - - - 寰蒋闆呴粦 - 10 - - - - - - - 620 - 520 - 27 - 25 - - - - - 寰蒋闆呴粦 - - - - ... - - - - - - 190 - 570 - 171 - 30 - - - - - 寰蒋闆呴粦 - 12 - 75 - true - - - - 鍥剧墖瀛樺偍璺緞 - - - Qt::AlignCenter - - - - - - 370 - 570 - 241 - 30 - - - - - 寰蒋闆呴粦 - 10 - - - - - - - 620 - 570 - 27 - 25 - - - - - 寰蒋闆呴粦 - - - - ... - diff --git a/Cigarette/main.cpp b/Cigarette/main.cpp index 05627df..6f928ed 100644 --- a/Cigarette/main.cpp +++ b/Cigarette/main.cpp @@ -21,8 +21,8 @@ int main(int argc, char *argv[]) splash.show(); a.processEvents(); Cigarette w; - //w.show(); - w.showFullScreen(); + w.show(); + //w.showFullScreen(); splash.finish(&w); return a.exec(); } diff --git a/Cigarette/output_statistic.cpp b/Cigarette/output_statistic.cpp index 768fc86..b247149 100644 --- a/Cigarette/output_statistic.cpp +++ b/Cigarette/output_statistic.cpp @@ -82,13 +82,16 @@ void output_statistic::recMsgFromDialogSetup() for (int i = 0; i < NumberOfSupportedCameras; i++) { file_name = QString(STATISTIC_FILE).arg(i); file_path = g_conf_path.config_path + "/" + file_name; - //std::cout << "===>" << file_path.toStdString() << std::endl; file.setFileName(file_path); if (file.open(QIODevice::ReadOnly | QIODevice::Text)) { QTextStream in(&file); + //in.setCodec("UTF-8"); textBrowser_mat[i]->setText(in.readAll()); } + else { + std::cout << "can not open statistic file" << std::endl; + } file.close(); this->show(); }