hikyuu 2.6.6__py3-none-win_amd64.whl → 2.6.7__py3-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. hikyuu/__init__.py +10 -0
  2. hikyuu/__init__.pyi +567 -560
  3. hikyuu/analysis/__init__.pyi +539 -519
  4. hikyuu/analysis/analysis.pyi +540 -520
  5. hikyuu/core.pyi +541 -521
  6. hikyuu/cpp/__init__.pyi +2 -2
  7. hikyuu/cpp/core310.pyd +0 -0
  8. hikyuu/cpp/core310.pyi +1041 -859
  9. hikyuu/cpp/core311.pyd +0 -0
  10. hikyuu/cpp/core311.pyi +1041 -859
  11. hikyuu/cpp/core312.pyd +0 -0
  12. hikyuu/cpp/core312.pyi +1041 -859
  13. hikyuu/cpp/core313.pyd +0 -0
  14. hikyuu/cpp/core313.pyi +1041 -857
  15. hikyuu/cpp/core39.pyd +0 -0
  16. hikyuu/cpp/core39.pyi +1041 -859
  17. hikyuu/cpp/hikyuu.dll +0 -0
  18. hikyuu/cpp/hikyuu.lib +0 -0
  19. hikyuu/cpp/i18n/zh_CN/__init__.py +0 -0
  20. hikyuu/cpp/i18n/zh_CN/hikyuu.mo +0 -0
  21. hikyuu/cpp/sqlite3.dll +0 -0
  22. hikyuu/data/common_clickhouse.py +0 -47
  23. hikyuu/data/tdx_to_h5.py +1 -1
  24. hikyuu/draw/__init__.pyi +1 -1
  25. hikyuu/draw/drawplot/__init__.pyi +9 -9
  26. hikyuu/draw/drawplot/bokeh_draw.pyi +556 -551
  27. hikyuu/draw/drawplot/common.pyi +1 -1
  28. hikyuu/draw/drawplot/echarts_draw.py +9 -8
  29. hikyuu/draw/drawplot/echarts_draw.pyi +558 -553
  30. hikyuu/draw/drawplot/matplotlib_draw.py +3 -3
  31. hikyuu/draw/drawplot/matplotlib_draw.pyi +568 -563
  32. hikyuu/draw/elder.pyi +11 -11
  33. hikyuu/draw/kaufman.py +1 -1
  34. hikyuu/draw/kaufman.pyi +18 -18
  35. hikyuu/draw/volume.pyi +10 -10
  36. hikyuu/examples/notebook/000-Index.ipynb +1 -1
  37. hikyuu/examples/notebook/001-overview.ipynb +78 -63
  38. hikyuu/examples/notebook/002-HowToGetStock.ipynb +259 -40
  39. hikyuu/examples/notebook/003-HowToGetKDataAndDraw.ipynb +49 -41
  40. hikyuu/examples/notebook/004-IndicatorOverview.ipynb +29 -29
  41. hikyuu/examples/notebook/005-Drawplot.ipynb +66 -37
  42. hikyuu/examples/notebook/006-TradeManager.ipynb +808 -61
  43. hikyuu/examples/notebook/007-SystemDetails.ipynb +23 -23
  44. hikyuu/examples/notebook/009-RealData.ipynb +3 -3
  45. hikyuu/examples/notebook/010-Portfolio.ipynb +761 -122
  46. hikyuu/extend.py +15 -100
  47. hikyuu/extend.pyi +551 -567
  48. hikyuu/gui/HikyuuTDX.py +2 -4
  49. hikyuu/gui/data/MainWindow.py +185 -174
  50. hikyuu/hub.pyi +6 -6
  51. hikyuu/include/hikyuu/DataType.h +1 -10
  52. hikyuu/include/hikyuu/KQuery.h +22 -28
  53. hikyuu/include/hikyuu/MarketInfo.h +1 -1
  54. hikyuu/include/hikyuu/Stock.h +15 -3
  55. hikyuu/include/hikyuu/StockManager.h +4 -3
  56. hikyuu/include/hikyuu/StockTypeInfo.h +6 -0
  57. hikyuu/include/hikyuu/TransRecord.h +2 -8
  58. hikyuu/include/hikyuu/doc.h +4 -0
  59. hikyuu/include/hikyuu/indicator/Indicator.h +37 -0
  60. hikyuu/include/hikyuu/lang.h +27 -0
  61. hikyuu/include/hikyuu/plugin/KDataToHdf5Importer.h +6 -1
  62. hikyuu/include/hikyuu/plugin/hkuextra.h +56 -0
  63. hikyuu/include/hikyuu/plugin/interface/HkuExtraPluginInterface.h +38 -0
  64. hikyuu/include/hikyuu/plugin/interface/ImportKDataToHdf5PluginInterface.h +10 -1
  65. hikyuu/include/hikyuu/plugin/interface/plugins.h +2 -0
  66. hikyuu/include/hikyuu/python/pybind_utils.h +9 -0
  67. hikyuu/include/hikyuu/trade_manage/TradeRecord.h +1 -1
  68. hikyuu/include/hikyuu/utilities/config.h +0 -2
  69. hikyuu/include/hikyuu/utilities/os.h +3 -0
  70. hikyuu/include/hikyuu/utilities/plugin/PluginLoader.h +2 -1
  71. hikyuu/include/hikyuu/version.h +4 -4
  72. hikyuu/include/hikyuu/view/MarketView.h +59 -0
  73. hikyuu/indicator/__init__.py +0 -1
  74. hikyuu/indicator/indicator.py +14 -53
  75. hikyuu/plugin/backtest.dll +0 -0
  76. hikyuu/plugin/clickhousedriver.dll +0 -0
  77. hikyuu/plugin/dataserver.dll +0 -0
  78. hikyuu/plugin/device.dll +0 -0
  79. hikyuu/plugin/extind.dll +0 -0
  80. hikyuu/plugin/hkuextra.dll +0 -0
  81. hikyuu/plugin/import2hdf5.dll +0 -0
  82. hikyuu/plugin/tmreport.dll +0 -0
  83. hikyuu/test/test_init.py +59 -0
  84. hikyuu/test/test_real_tdx_import.py +336 -0
  85. hikyuu/test/test_tdx_import.py +315 -0
  86. hikyuu/test/test_tdx_real_data_import.py +281 -0
  87. hikyuu/trade_manage/__init__.pyi +556 -551
  88. hikyuu/trade_manage/broker.pyi +3 -3
  89. hikyuu/trade_manage/broker_easytrader.pyi +1 -1
  90. hikyuu/trade_manage/trade.py +4 -65
  91. hikyuu/trade_manage/trade.pyi +556 -563
  92. hikyuu/trade_sys/__init__.py +11 -0
  93. hikyuu/util/__init__.pyi +0 -1
  94. hikyuu/util/singleton.pyi +1 -1
  95. {hikyuu-2.6.6.dist-info → hikyuu-2.6.7.dist-info}/METADATA +6 -4
  96. {hikyuu-2.6.6.dist-info → hikyuu-2.6.7.dist-info}/RECORD +102 -95
  97. {hikyuu-2.6.6.dist-info → hikyuu-2.6.7.dist-info}/top_level.txt +2 -1
  98. hikyuu/cpp/i18n/zh_CN.mo +0 -0
  99. hikyuu/include/hikyuu/utilities/mo/mo.h +0 -64
  100. hikyuu/indicator/talib_wrap.py +0 -1273
  101. /hikyuu/include/hikyuu/utilities/{mo/moFileReader.h → moFileReader.h} +0 -0
  102. /hikyuu/include/hikyuu/{utilities/mo → view}/__init__.py +0 -0
  103. {hikyuu-2.6.6.dist-info → hikyuu-2.6.7.dist-info}/LICENSE +0 -0
  104. {hikyuu-2.6.6.dist-info → hikyuu-2.6.7.dist-info}/WHEEL +0 -0
  105. {hikyuu-2.6.6.dist-info → hikyuu-2.6.7.dist-info}/entry_points.txt +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Form implementation generated from reading ui file 'MainWindow.ui'
4
4
  #
5
- # Created by: PyQt5 UI code generator 5.15.11
5
+ # Created by: PyQt5 UI code generator 5.15.10
6
6
  #
7
7
  # WARNING: Any manual changes made to this file will be lost when pyuic5 is
8
8
  # run again. Do not edit this file unless you know what you are doing.
@@ -14,7 +14,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
14
14
  class Ui_MainWindow(object):
15
15
  def setupUi(self, MainWindow):
16
16
  MainWindow.setObjectName("MainWindow")
17
- MainWindow.resize(1178, 746)
17
+ MainWindow.resize(1178, 719)
18
18
  self.centralwidget = QtWidgets.QWidget(MainWindow)
19
19
  self.centralwidget.setObjectName("centralwidget")
20
20
  self.horizontalLayout_12 = QtWidgets.QHBoxLayout(self.centralwidget)
@@ -63,8 +63,6 @@ class Ui_MainWindow(object):
63
63
  spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
64
64
  self.horizontalLayout.addItem(spacerItem)
65
65
  self.verticalLayout_12.addLayout(self.horizontalLayout)
66
- spacerItem1 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
67
- self.verticalLayout_12.addItem(spacerItem1)
68
66
  self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
69
67
  self.horizontalLayout_5.setContentsMargins(10, 0, -1, -1)
70
68
  self.horizontalLayout_5.setObjectName("horizontalLayout_5")
@@ -103,8 +101,6 @@ class Ui_MainWindow(object):
103
101
  self.horizontalLayout_24.addWidget(self.qmt_radioButton)
104
102
  self.verticalLayout_12.addLayout(self.horizontalLayout_24)
105
103
  self.verticalLayout_13.addWidget(self.groupBox_2)
106
- spacerItem2 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
107
- self.verticalLayout_13.addItem(spacerItem2)
108
104
  self.groupBox_7 = QtWidgets.QGroupBox(self.tab_4)
109
105
  self.groupBox_7.setObjectName("groupBox_7")
110
106
  self.verticalLayout_11 = QtWidgets.QVBoxLayout(self.groupBox_7)
@@ -135,8 +131,8 @@ class Ui_MainWindow(object):
135
131
  self.import_future_checkBox.setEnabled(False)
136
132
  self.import_future_checkBox.setObjectName("import_future_checkBox")
137
133
  self.horizontalLayout_3.addWidget(self.import_future_checkBox)
138
- spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
139
- self.horizontalLayout_3.addItem(spacerItem3)
134
+ spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
135
+ self.horizontalLayout_3.addItem(spacerItem1)
140
136
  self.verticalLayout_11.addLayout(self.horizontalLayout_3)
141
137
  self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
142
138
  self.horizontalLayout_2.setContentsMargins(10, -1, -1, -1)
@@ -158,11 +154,9 @@ class Ui_MainWindow(object):
158
154
  self.import_time_checkBox.setEnabled(True)
159
155
  self.import_time_checkBox.setObjectName("import_time_checkBox")
160
156
  self.horizontalLayout_2.addWidget(self.import_time_checkBox)
161
- spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
162
- self.horizontalLayout_2.addItem(spacerItem4)
157
+ spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
158
+ self.horizontalLayout_2.addItem(spacerItem2)
163
159
  self.verticalLayout_11.addLayout(self.horizontalLayout_2)
164
- spacerItem5 = QtWidgets.QSpacerItem(20, 15, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
165
- self.verticalLayout_11.addItem(spacerItem5)
166
160
  self.line = QtWidgets.QFrame(self.groupBox_7)
167
161
  self.line.setFrameShape(QtWidgets.QFrame.HLine)
168
162
  self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
@@ -178,7 +172,7 @@ class Ui_MainWindow(object):
178
172
  self.label_6.setObjectName("label_6")
179
173
  self.gridLayout_4.addWidget(self.label_6, 3, 0, 1, 1)
180
174
  self.min5_start_dateEdit = QtWidgets.QDateEdit(self.groupBox_7)
181
- self.min5_start_dateEdit.setMinimumDateTime(QtCore.QDateTime(QtCore.QDate(1989, 12, 23), QtCore.QTime(8, 0, 0)))
175
+ self.min5_start_dateEdit.setMinimumDateTime(QtCore.QDateTime(QtCore.QDate(1989, 12, 22), QtCore.QTime(0, 0, 0)))
182
176
  self.min5_start_dateEdit.setCalendarPopup(True)
183
177
  self.min5_start_dateEdit.setObjectName("min5_start_dateEdit")
184
178
  self.gridLayout_4.addWidget(self.min5_start_dateEdit, 1, 1, 1, 1)
@@ -200,7 +194,7 @@ class Ui_MainWindow(object):
200
194
  self.trans_start_dateEdit.setObjectName("trans_start_dateEdit")
201
195
  self.gridLayout_4.addWidget(self.trans_start_dateEdit, 3, 1, 1, 1)
202
196
  self.day_start_dateEdit = QtWidgets.QDateEdit(self.groupBox_7)
203
- self.day_start_dateEdit.setMinimumDateTime(QtCore.QDateTime(QtCore.QDate(1989, 12, 23), QtCore.QTime(8, 0, 0)))
197
+ self.day_start_dateEdit.setMinimumDateTime(QtCore.QDateTime(QtCore.QDate(1989, 12, 22), QtCore.QTime(0, 0, 0)))
204
198
  self.day_start_dateEdit.setCalendarPopup(True)
205
199
  self.day_start_dateEdit.setObjectName("day_start_dateEdit")
206
200
  self.gridLayout_4.addWidget(self.day_start_dateEdit, 0, 1, 1, 1)
@@ -208,17 +202,17 @@ class Ui_MainWindow(object):
208
202
  self.time_start_dateEdit.setCalendarPopup(True)
209
203
  self.time_start_dateEdit.setObjectName("time_start_dateEdit")
210
204
  self.gridLayout_4.addWidget(self.time_start_dateEdit, 4, 1, 1, 1)
211
- spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
212
- self.gridLayout_4.addItem(spacerItem6, 1, 2, 1, 1)
205
+ spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
206
+ self.gridLayout_4.addItem(spacerItem3, 1, 2, 1, 1)
213
207
  self.verticalLayout_11.addLayout(self.gridLayout_4)
214
- spacerItem7 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
215
- self.verticalLayout_11.addItem(spacerItem7)
208
+ spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
209
+ self.verticalLayout_11.addItem(spacerItem4)
216
210
  self.verticalLayout_13.addWidget(self.groupBox_7)
217
211
  self.tabWidget.addTab(self.tab_4, "")
218
212
  self.tab_3 = QtWidgets.QWidget()
219
213
  self.tab_3.setObjectName("tab_3")
220
- self.verticalLayout_9 = QtWidgets.QVBoxLayout(self.tab_3)
221
- self.verticalLayout_9.setObjectName("verticalLayout_9")
214
+ self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.tab_3)
215
+ self.verticalLayout_8.setObjectName("verticalLayout_8")
222
216
  self.groupBox_4 = QtWidgets.QGroupBox(self.tab_3)
223
217
  sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
224
218
  sizePolicy.setHorizontalStretch(0)
@@ -241,12 +235,10 @@ class Ui_MainWindow(object):
241
235
  self.enable_clickhouse_radioButton = QtWidgets.QRadioButton(self.groupBox_4)
242
236
  self.enable_clickhouse_radioButton.setObjectName("enable_clickhouse_radioButton")
243
237
  self.horizontalLayout_19.addWidget(self.enable_clickhouse_radioButton)
244
- spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
245
- self.horizontalLayout_19.addItem(spacerItem8)
238
+ spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
239
+ self.horizontalLayout_19.addItem(spacerItem5)
246
240
  self.verticalLayout_14.addLayout(self.horizontalLayout_19)
247
- self.verticalLayout_9.addWidget(self.groupBox_4)
248
- spacerItem9 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
249
- self.verticalLayout_9.addItem(spacerItem9)
241
+ self.verticalLayout_8.addWidget(self.groupBox_4)
250
242
  self.groupBox_3 = QtWidgets.QGroupBox(self.tab_3)
251
243
  sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
252
244
  sizePolicy.setHorizontalStretch(0)
@@ -270,15 +262,13 @@ class Ui_MainWindow(object):
270
262
  self.label.setObjectName("label")
271
263
  self.gridLayout_3.addWidget(self.label, 0, 0, 1, 1)
272
264
  self.verticalLayout_10.addLayout(self.gridLayout_3)
273
- self.verticalLayout_9.addWidget(self.groupBox_3)
274
- spacerItem10 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
275
- self.verticalLayout_9.addItem(spacerItem10)
265
+ self.verticalLayout_8.addWidget(self.groupBox_3)
276
266
  self.groupBox = QtWidgets.QGroupBox(self.tab_3)
277
267
  self.groupBox.setFlat(False)
278
268
  self.groupBox.setCheckable(False)
279
269
  self.groupBox.setObjectName("groupBox")
280
- self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.groupBox)
281
- self.verticalLayout_8.setObjectName("verticalLayout_8")
270
+ self.verticalLayout_9 = QtWidgets.QVBoxLayout(self.groupBox)
271
+ self.verticalLayout_9.setObjectName("verticalLayout_9")
282
272
  self.gridLayout_5 = QtWidgets.QGridLayout()
283
273
  self.gridLayout_5.setContentsMargins(10, 10, -1, 10)
284
274
  self.gridLayout_5.setObjectName("gridLayout_5")
@@ -318,68 +308,68 @@ class Ui_MainWindow(object):
318
308
  self.mysql_pwd_lineEdit = QtWidgets.QLineEdit(self.groupBox)
319
309
  self.mysql_pwd_lineEdit.setObjectName("mysql_pwd_lineEdit")
320
310
  self.gridLayout_5.addWidget(self.mysql_pwd_lineEdit, 4, 1, 1, 1)
321
- self.verticalLayout_8.addLayout(self.gridLayout_5)
322
- self.verticalLayout_9.addWidget(self.groupBox)
323
- spacerItem11 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
324
- self.verticalLayout_9.addItem(spacerItem11)
311
+ self.verticalLayout_9.addLayout(self.gridLayout_5)
312
+ self.verticalLayout_8.addWidget(self.groupBox)
325
313
  self.groupBox_8 = QtWidgets.QGroupBox(self.tab_3)
326
314
  self.groupBox_8.setObjectName("groupBox_8")
327
- self.layoutWidget_2 = QtWidgets.QWidget(self.groupBox_8)
328
- self.layoutWidget_2.setGeometry(QtCore.QRect(20, 30, 511, 208))
329
- self.layoutWidget_2.setObjectName("layoutWidget_2")
330
- self.gridLayout_7 = QtWidgets.QGridLayout(self.layoutWidget_2)
331
- self.gridLayout_7.setContentsMargins(10, 10, 0, 10)
315
+ self.verticalLayout_19 = QtWidgets.QVBoxLayout(self.groupBox_8)
316
+ self.verticalLayout_19.setObjectName("verticalLayout_19")
317
+ self.gridLayout_7 = QtWidgets.QGridLayout()
318
+ self.gridLayout_7.setContentsMargins(10, 10, -1, 10)
332
319
  self.gridLayout_7.setObjectName("gridLayout_7")
333
- self.clickhouse_test_pushButton = QtWidgets.QPushButton(self.layoutWidget_2)
334
- self.clickhouse_test_pushButton.setObjectName("clickhouse_test_pushButton")
335
- self.gridLayout_7.addWidget(self.clickhouse_test_pushButton, 2, 2, 1, 1)
336
- self.label_52 = QtWidgets.QLabel(self.layoutWidget_2)
337
- self.label_52.setObjectName("label_52")
338
- self.gridLayout_7.addWidget(self.label_52, 5, 0, 1, 1)
339
- self.label_54 = QtWidgets.QLabel(self.layoutWidget_2)
340
- self.label_54.setObjectName("label_54")
341
- self.gridLayout_7.addWidget(self.label_54, 1, 0, 1, 1)
342
- self.label_51 = QtWidgets.QLabel(self.layoutWidget_2)
343
- self.label_51.setObjectName("label_51")
344
- self.gridLayout_7.addWidget(self.label_51, 2, 0, 1, 1)
345
- self.label_53 = QtWidgets.QLabel(self.layoutWidget_2)
346
- self.label_53.setObjectName("label_53")
347
- self.gridLayout_7.addWidget(self.label_53, 0, 0, 1, 1)
348
- self.clickhouse_pwd_lineEdit = QtWidgets.QLineEdit(self.layoutWidget_2)
320
+ self.clickhouse_pwd_lineEdit = QtWidgets.QLineEdit(self.groupBox_8)
349
321
  self.clickhouse_pwd_lineEdit.setObjectName("clickhouse_pwd_lineEdit")
350
322
  self.gridLayout_7.addWidget(self.clickhouse_pwd_lineEdit, 5, 1, 1, 1)
351
- self.clickhouse_http_port_lineEdit = QtWidgets.QLineEdit(self.layoutWidget_2)
352
- self.clickhouse_http_port_lineEdit.setObjectName("clickhouse_http_port_lineEdit")
353
- self.gridLayout_7.addWidget(self.clickhouse_http_port_lineEdit, 2, 1, 1, 1)
354
- self.clickhouse_usr_lineEdit = QtWidgets.QLineEdit(self.layoutWidget_2)
355
- self.clickhouse_usr_lineEdit.setObjectName("clickhouse_usr_lineEdit")
356
- self.gridLayout_7.addWidget(self.clickhouse_usr_lineEdit, 4, 1, 1, 1)
357
- self.clickhouse_tmpdir_lineEdit = QtWidgets.QLineEdit(self.layoutWidget_2)
358
- self.clickhouse_tmpdir_lineEdit.setObjectName("clickhouse_tmpdir_lineEdit")
359
- self.gridLayout_7.addWidget(self.clickhouse_tmpdir_lineEdit, 0, 1, 1, 1)
360
- self.clickhouse_ip_lineEdit = QtWidgets.QLineEdit(self.layoutWidget_2)
323
+ self.label_53 = QtWidgets.QLabel(self.groupBox_8)
324
+ self.label_53.setObjectName("label_53")
325
+ self.gridLayout_7.addWidget(self.label_53, 0, 0, 1, 1)
326
+ self.label_54 = QtWidgets.QLabel(self.groupBox_8)
327
+ self.label_54.setObjectName("label_54")
328
+ self.gridLayout_7.addWidget(self.label_54, 1, 0, 1, 1)
329
+ self.clickhouse_ip_lineEdit = QtWidgets.QLineEdit(self.groupBox_8)
361
330
  self.clickhouse_ip_lineEdit.setObjectName("clickhouse_ip_lineEdit")
362
331
  self.gridLayout_7.addWidget(self.clickhouse_ip_lineEdit, 1, 1, 1, 1)
363
- self.clickhouse_tmpdir_pushButton = QtWidgets.QPushButton(self.layoutWidget_2)
364
- self.clickhouse_tmpdir_pushButton.setObjectName("clickhouse_tmpdir_pushButton")
365
- self.gridLayout_7.addWidget(self.clickhouse_tmpdir_pushButton, 0, 2, 1, 1)
366
- self.label_50 = QtWidgets.QLabel(self.layoutWidget_2)
332
+ self.clickhouse_tmpdir_lineEdit = QtWidgets.QLineEdit(self.groupBox_8)
333
+ self.clickhouse_tmpdir_lineEdit.setObjectName("clickhouse_tmpdir_lineEdit")
334
+ self.gridLayout_7.addWidget(self.clickhouse_tmpdir_lineEdit, 0, 1, 1, 1)
335
+ self.label_51 = QtWidgets.QLabel(self.groupBox_8)
336
+ self.label_51.setObjectName("label_51")
337
+ self.gridLayout_7.addWidget(self.label_51, 2, 0, 1, 1)
338
+ self.label_50 = QtWidgets.QLabel(self.groupBox_8)
367
339
  self.label_50.setObjectName("label_50")
368
340
  self.gridLayout_7.addWidget(self.label_50, 4, 0, 1, 1)
369
- self.label_55 = QtWidgets.QLabel(self.layoutWidget_2)
341
+ self.clickhouse_usr_lineEdit = QtWidgets.QLineEdit(self.groupBox_8)
342
+ self.clickhouse_usr_lineEdit.setObjectName("clickhouse_usr_lineEdit")
343
+ self.gridLayout_7.addWidget(self.clickhouse_usr_lineEdit, 4, 1, 1, 1)
344
+ self.label_55 = QtWidgets.QLabel(self.groupBox_8)
370
345
  self.label_55.setObjectName("label_55")
371
346
  self.gridLayout_7.addWidget(self.label_55, 3, 0, 1, 1)
372
- self.clickhouse_port_lineEdit = QtWidgets.QLineEdit(self.layoutWidget_2)
347
+ self.clickhouse_port_lineEdit = QtWidgets.QLineEdit(self.groupBox_8)
373
348
  self.clickhouse_port_lineEdit.setObjectName("clickhouse_port_lineEdit")
374
349
  self.gridLayout_7.addWidget(self.clickhouse_port_lineEdit, 3, 1, 1, 1)
375
- self.verticalLayout_9.addWidget(self.groupBox_8)
350
+ self.label_52 = QtWidgets.QLabel(self.groupBox_8)
351
+ self.label_52.setObjectName("label_52")
352
+ self.gridLayout_7.addWidget(self.label_52, 5, 0, 1, 1)
353
+ self.clickhouse_test_pushButton = QtWidgets.QPushButton(self.groupBox_8)
354
+ self.clickhouse_test_pushButton.setObjectName("clickhouse_test_pushButton")
355
+ self.gridLayout_7.addWidget(self.clickhouse_test_pushButton, 2, 2, 1, 1)
356
+ self.clickhouse_tmpdir_pushButton = QtWidgets.QPushButton(self.groupBox_8)
357
+ self.clickhouse_tmpdir_pushButton.setObjectName("clickhouse_tmpdir_pushButton")
358
+ self.gridLayout_7.addWidget(self.clickhouse_tmpdir_pushButton, 0, 2, 1, 1)
359
+ self.clickhouse_http_port_lineEdit = QtWidgets.QLineEdit(self.groupBox_8)
360
+ self.clickhouse_http_port_lineEdit.setObjectName("clickhouse_http_port_lineEdit")
361
+ self.gridLayout_7.addWidget(self.clickhouse_http_port_lineEdit, 2, 1, 1, 1)
362
+ self.verticalLayout_19.addLayout(self.gridLayout_7)
363
+ self.verticalLayout_8.addWidget(self.groupBox_8)
364
+ spacerItem6 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
365
+ self.verticalLayout_8.addItem(spacerItem6)
376
366
  self.tabWidget.addTab(self.tab_3, "")
377
367
  self.tab_2 = QtWidgets.QWidget()
378
368
  self.tab_2.setObjectName("tab_2")
379
369
  self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.tab_2)
380
370
  self.verticalLayout_7.setObjectName("verticalLayout_7")
381
- spacerItem12 = QtWidgets.QSpacerItem(20, 9, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
382
- self.verticalLayout_7.addItem(spacerItem12)
371
+ spacerItem7 = QtWidgets.QSpacerItem(20, 9, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
372
+ self.verticalLayout_7.addItem(spacerItem7)
383
373
  self.label_43 = QtWidgets.QLabel(self.tab_2)
384
374
  self.label_43.setObjectName("label_43")
385
375
  self.verticalLayout_7.addWidget(self.label_43)
@@ -397,12 +387,12 @@ class Ui_MainWindow(object):
397
387
  self.sched_import_timeEdit = QtWidgets.QTimeEdit(self.tab_2)
398
388
  self.sched_import_timeEdit.setObjectName("sched_import_timeEdit")
399
389
  self.horizontalLayout_14.addWidget(self.sched_import_timeEdit)
400
- spacerItem13 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
401
- self.horizontalLayout_14.addItem(spacerItem13)
390
+ spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
391
+ self.horizontalLayout_14.addItem(spacerItem8)
402
392
  self.horizontalLayout_11.addLayout(self.horizontalLayout_14)
403
393
  self.verticalLayout_7.addLayout(self.horizontalLayout_11)
404
- spacerItem14 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
405
- self.verticalLayout_7.addItem(spacerItem14)
394
+ spacerItem9 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
395
+ self.verticalLayout_7.addItem(spacerItem9)
406
396
  self.horizontalLayout_18 = QtWidgets.QHBoxLayout()
407
397
  self.horizontalLayout_18.setContentsMargins(10, -1, 10, -1)
408
398
  self.horizontalLayout_18.setObjectName("horizontalLayout_18")
@@ -412,11 +402,11 @@ class Ui_MainWindow(object):
412
402
  self.import_status_label = QtWidgets.QLabel(self.tab_2)
413
403
  self.import_status_label.setObjectName("import_status_label")
414
404
  self.horizontalLayout_18.addWidget(self.import_status_label)
415
- spacerItem15 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
416
- self.horizontalLayout_18.addItem(spacerItem15)
405
+ spacerItem10 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
406
+ self.horizontalLayout_18.addItem(spacerItem10)
417
407
  self.verticalLayout_7.addLayout(self.horizontalLayout_18)
418
- spacerItem16 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
419
- self.verticalLayout_7.addItem(spacerItem16)
408
+ spacerItem11 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
409
+ self.verticalLayout_7.addItem(spacerItem11)
420
410
  self.groupBox_5 = QtWidgets.QGroupBox(self.tab_2)
421
411
  self.groupBox_5.setObjectName("groupBox_5")
422
412
  self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.groupBox_5)
@@ -464,11 +454,11 @@ class Ui_MainWindow(object):
464
454
  self.label_9 = QtWidgets.QLabel(self.groupBox_5)
465
455
  self.label_9.setObjectName("label_9")
466
456
  self.gridLayout.addWidget(self.label_9, 5, 0, 1, 1)
467
- spacerItem17 = QtWidgets.QSpacerItem(5, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
468
- self.gridLayout.addItem(spacerItem17, 0, 2, 1, 1)
457
+ spacerItem12 = QtWidgets.QSpacerItem(5, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
458
+ self.gridLayout.addItem(spacerItem12, 0, 2, 1, 1)
469
459
  self.verticalLayout_5.addLayout(self.gridLayout)
470
- spacerItem18 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
471
- self.verticalLayout_5.addItem(spacerItem18)
460
+ spacerItem13 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
461
+ self.verticalLayout_5.addItem(spacerItem13)
472
462
  self.import_detail_textEdit = QtWidgets.QTextEdit(self.groupBox_5)
473
463
  self.import_detail_textEdit.setFrameShape(QtWidgets.QFrame.NoFrame)
474
464
  self.import_detail_textEdit.setReadOnly(True)
@@ -494,8 +484,8 @@ class Ui_MainWindow(object):
494
484
  self.label_36.setObjectName("label_36")
495
485
  self.verticalLayout.addWidget(self.label_36)
496
486
  self.verticalLayout_4.addLayout(self.verticalLayout)
497
- spacerItem19 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
498
- self.verticalLayout_4.addItem(spacerItem19)
487
+ spacerItem14 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
488
+ self.verticalLayout_4.addItem(spacerItem14)
499
489
  self.gridLayout_6 = QtWidgets.QGridLayout()
500
490
  self.gridLayout_6.setContentsMargins(20, -1, -1, -1)
501
491
  self.gridLayout_6.setObjectName("gridLayout_6")
@@ -589,8 +579,8 @@ class Ui_MainWindow(object):
589
579
  self.preload_week_checkBox = QtWidgets.QCheckBox(self.groupBox_6)
590
580
  self.preload_week_checkBox.setObjectName("preload_week_checkBox")
591
581
  self.gridLayout_6.addWidget(self.preload_week_checkBox, 1, 0, 1, 1)
592
- spacerItem20 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
593
- self.gridLayout_6.addItem(spacerItem20, 4, 3, 1, 1)
582
+ spacerItem15 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
583
+ self.gridLayout_6.addItem(spacerItem15, 4, 3, 1, 1)
594
584
  self.preload_quarter_checkBox = QtWidgets.QCheckBox(self.groupBox_6)
595
585
  self.preload_quarter_checkBox.setObjectName("preload_quarter_checkBox")
596
586
  self.gridLayout_6.addWidget(self.preload_quarter_checkBox, 3, 0, 1, 1)
@@ -625,16 +615,16 @@ class Ui_MainWindow(object):
625
615
  self.preload_year_spinBox.setObjectName("preload_year_spinBox")
626
616
  self.gridLayout_6.addWidget(self.preload_year_spinBox, 5, 2, 1, 1)
627
617
  self.verticalLayout_4.addLayout(self.gridLayout_6)
628
- spacerItem21 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
629
- self.verticalLayout_4.addItem(spacerItem21)
618
+ spacerItem16 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
619
+ self.verticalLayout_4.addItem(spacerItem16)
630
620
  self.verticalLayout_3.addWidget(self.groupBox_6)
631
621
  self.tabWidget.addTab(self.tab_6, "")
632
622
  self.tab = QtWidgets.QWidget()
633
623
  self.tab.setObjectName("tab")
634
624
  self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.tab)
635
625
  self.verticalLayout_2.setObjectName("verticalLayout_2")
636
- spacerItem22 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
637
- self.verticalLayout_2.addItem(spacerItem22)
626
+ spacerItem17 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
627
+ self.verticalLayout_2.addItem(spacerItem17)
638
628
  self.horizontalLayout_15 = QtWidgets.QHBoxLayout()
639
629
  self.horizontalLayout_15.setContentsMargins(20, -1, -1, -1)
640
630
  self.horizontalLayout_15.setObjectName("horizontalLayout_15")
@@ -644,11 +634,11 @@ class Ui_MainWindow(object):
644
634
  self.collect_status_label = QtWidgets.QLabel(self.tab)
645
635
  self.collect_status_label.setObjectName("collect_status_label")
646
636
  self.horizontalLayout_15.addWidget(self.collect_status_label)
647
- spacerItem23 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
648
- self.horizontalLayout_15.addItem(spacerItem23)
637
+ spacerItem18 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
638
+ self.horizontalLayout_15.addItem(spacerItem18)
649
639
  self.verticalLayout_2.addLayout(self.horizontalLayout_15)
650
- spacerItem24 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
651
- self.verticalLayout_2.addItem(spacerItem24)
640
+ spacerItem19 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
641
+ self.verticalLayout_2.addItem(spacerItem19)
652
642
  self.horizontalLayout_13 = QtWidgets.QHBoxLayout()
653
643
  self.horizontalLayout_13.setContentsMargins(20, -1, -1, -1)
654
644
  self.horizontalLayout_13.setObjectName("horizontalLayout_13")
@@ -660,11 +650,11 @@ class Ui_MainWindow(object):
660
650
  self.collect_source_comboBox.addItem("")
661
651
  self.collect_source_comboBox.addItem("")
662
652
  self.horizontalLayout_13.addWidget(self.collect_source_comboBox)
663
- spacerItem25 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
664
- self.horizontalLayout_13.addItem(spacerItem25)
653
+ spacerItem20 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
654
+ self.horizontalLayout_13.addItem(spacerItem20)
665
655
  self.verticalLayout_2.addLayout(self.horizontalLayout_13)
666
- spacerItem26 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
667
- self.verticalLayout_2.addItem(spacerItem26)
656
+ spacerItem21 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
657
+ self.verticalLayout_2.addItem(spacerItem21)
668
658
  self.horizontalLayout_10 = QtWidgets.QHBoxLayout()
669
659
  self.horizontalLayout_10.setContentsMargins(20, -1, -1, -1)
670
660
  self.horizontalLayout_10.setObjectName("horizontalLayout_10")
@@ -675,11 +665,11 @@ class Ui_MainWindow(object):
675
665
  self.collect_sample_spinBox.setMaximum(86400)
676
666
  self.collect_sample_spinBox.setObjectName("collect_sample_spinBox")
677
667
  self.horizontalLayout_10.addWidget(self.collect_sample_spinBox)
678
- spacerItem27 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
679
- self.horizontalLayout_10.addItem(spacerItem27)
668
+ spacerItem22 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
669
+ self.horizontalLayout_10.addItem(spacerItem22)
680
670
  self.verticalLayout_2.addLayout(self.horizontalLayout_10)
681
- spacerItem28 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
682
- self.verticalLayout_2.addItem(spacerItem28)
671
+ spacerItem23 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
672
+ self.verticalLayout_2.addItem(spacerItem23)
683
673
  self.horizontalLayout_8 = QtWidgets.QHBoxLayout()
684
674
  self.horizontalLayout_8.setContentsMargins(20, -1, -1, -1)
685
675
  self.horizontalLayout_8.setObjectName("horizontalLayout_8")
@@ -698,8 +688,8 @@ class Ui_MainWindow(object):
698
688
  self.collect_phase1_last_timeEdit = QtWidgets.QTimeEdit(self.tab)
699
689
  self.collect_phase1_last_timeEdit.setObjectName("collect_phase1_last_timeEdit")
700
690
  self.horizontalLayout_6.addWidget(self.collect_phase1_last_timeEdit)
701
- spacerItem29 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
702
- self.horizontalLayout_6.addItem(spacerItem29)
691
+ spacerItem24 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
692
+ self.horizontalLayout_6.addItem(spacerItem24)
703
693
  self.horizontalLayout_8.addLayout(self.horizontalLayout_6)
704
694
  self.verticalLayout_2.addLayout(self.horizontalLayout_8)
705
695
  self.horizontalLayout_9 = QtWidgets.QHBoxLayout()
@@ -720,12 +710,12 @@ class Ui_MainWindow(object):
720
710
  self.collect_phase2_last_timeEdit = QtWidgets.QTimeEdit(self.tab)
721
711
  self.collect_phase2_last_timeEdit.setObjectName("collect_phase2_last_timeEdit")
722
712
  self.horizontalLayout_7.addWidget(self.collect_phase2_last_timeEdit)
723
- spacerItem30 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
724
- self.horizontalLayout_7.addItem(spacerItem30)
713
+ spacerItem25 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
714
+ self.horizontalLayout_7.addItem(spacerItem25)
725
715
  self.horizontalLayout_9.addLayout(self.horizontalLayout_7)
726
716
  self.verticalLayout_2.addLayout(self.horizontalLayout_9)
727
- spacerItem31 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
728
- self.verticalLayout_2.addItem(spacerItem31)
717
+ spacerItem26 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
718
+ self.verticalLayout_2.addItem(spacerItem26)
729
719
  self.horizontalLayout_16 = QtWidgets.QHBoxLayout()
730
720
  self.horizontalLayout_16.setContentsMargins(20, 0, -1, -1)
731
721
  self.horizontalLayout_16.setObjectName("horizontalLayout_16")
@@ -738,8 +728,8 @@ class Ui_MainWindow(object):
738
728
  self.collect_use_zhima_checkBox.setObjectName("collect_use_zhima_checkBox")
739
729
  self.horizontalLayout_16.addWidget(self.collect_use_zhima_checkBox)
740
730
  self.verticalLayout_2.addLayout(self.horizontalLayout_16)
741
- spacerItem32 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
742
- self.verticalLayout_2.addItem(spacerItem32)
731
+ spacerItem27 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
732
+ self.verticalLayout_2.addItem(spacerItem27)
743
733
  self.horizontalLayout_17 = QtWidgets.QHBoxLayout()
744
734
  self.horizontalLayout_17.setContentsMargins(20, 0, -1, -1)
745
735
  self.horizontalLayout_17.setObjectName("horizontalLayout_17")
@@ -751,67 +741,88 @@ class Ui_MainWindow(object):
751
741
  self.tab_star = QtWidgets.QWidget()
752
742
  self.tab_star.setEnabled(True)
753
743
  self.tab_star.setObjectName("tab_star")
754
- self.label_44 = QtWidgets.QLabel(self.tab_star)
755
- self.label_44.setGeometry(QtCore.QRect(40, 380, 291, 171))
756
- self.label_44.setText("")
757
- self.label_44.setPixmap(QtGui.QPixmap("../images/star.png"))
758
- self.label_44.setScaledContents(True)
759
- self.label_44.setObjectName("label_44")
744
+ self.verticalLayout_18 = QtWidgets.QVBoxLayout(self.tab_star)
745
+ self.verticalLayout_18.setObjectName("verticalLayout_18")
746
+ spacerItem28 = QtWidgets.QSpacerItem(5, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
747
+ self.verticalLayout_18.addItem(spacerItem28)
760
748
  self.label_46 = QtWidgets.QLabel(self.tab_star)
761
- self.label_46.setGeometry(QtCore.QRect(30, 20, 501, 211))
749
+ font = QtGui.QFont()
750
+ font.setFamily("Arial")
751
+ self.label_46.setFont(font)
762
752
  self.label_46.setWordWrap(True)
763
753
  self.label_46.setObjectName("label_46")
754
+ self.verticalLayout_18.addWidget(self.label_46)
764
755
  self.line_2 = QtWidgets.QFrame(self.tab_star)
765
- self.line_2.setGeometry(QtCore.QRect(30, 240, 511, 16))
766
756
  self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
767
757
  self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
768
758
  self.line_2.setObjectName("line_2")
759
+ self.verticalLayout_18.addWidget(self.line_2)
760
+ self.verticalLayout_15 = QtWidgets.QVBoxLayout()
761
+ self.verticalLayout_15.setObjectName("verticalLayout_15")
769
762
  self.label_47 = QtWidgets.QLabel(self.tab_star)
770
- self.label_47.setGeometry(QtCore.QRect(40, 260, 151, 16))
771
763
  font = QtGui.QFont()
772
764
  font.setBold(True)
773
765
  self.label_47.setFont(font)
774
766
  self.label_47.setObjectName("label_47")
767
+ self.verticalLayout_15.addWidget(self.label_47)
768
+ self.horizontalLayout_20 = QtWidgets.QHBoxLayout()
769
+ self.horizontalLayout_20.setObjectName("horizontalLayout_20")
770
+ self.label_45 = QtWidgets.QLabel(self.tab_star)
771
+ self.label_45.setObjectName("label_45")
772
+ self.horizontalLayout_20.addWidget(self.label_45)
773
+ self.email_lineEdit = QtWidgets.QLineEdit(self.tab_star)
774
+ self.email_lineEdit.setObjectName("email_lineEdit")
775
+ self.horizontalLayout_20.addWidget(self.email_lineEdit)
776
+ self.fetch_trial_pushButton = QtWidgets.QPushButton(self.tab_star)
777
+ self.fetch_trial_pushButton.setObjectName("fetch_trial_pushButton")
778
+ self.horizontalLayout_20.addWidget(self.fetch_trial_pushButton)
779
+ self.verticalLayout_15.addLayout(self.horizontalLayout_20)
780
+ self.verticalLayout_18.addLayout(self.verticalLayout_15)
775
781
  self.line_3 = QtWidgets.QFrame(self.tab_star)
776
- self.line_3.setGeometry(QtCore.QRect(30, 330, 511, 16))
777
782
  self.line_3.setFrameShape(QtWidgets.QFrame.HLine)
778
783
  self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken)
779
784
  self.line_3.setObjectName("line_3")
785
+ self.verticalLayout_18.addWidget(self.line_3)
786
+ self.verticalLayout_16 = QtWidgets.QVBoxLayout()
787
+ self.verticalLayout_16.setObjectName("verticalLayout_16")
780
788
  self.label_48 = QtWidgets.QLabel(self.tab_star)
781
- self.label_48.setGeometry(QtCore.QRect(40, 356, 331, 16))
782
789
  font = QtGui.QFont()
783
790
  font.setBold(True)
784
791
  self.label_48.setFont(font)
785
792
  self.label_48.setObjectName("label_48")
793
+ self.verticalLayout_16.addWidget(self.label_48)
794
+ self.label_44 = QtWidgets.QLabel(self.tab_star)
795
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
796
+ sizePolicy.setHorizontalStretch(0)
797
+ sizePolicy.setVerticalStretch(0)
798
+ sizePolicy.setHeightForWidth(self.label_44.sizePolicy().hasHeightForWidth())
799
+ self.label_44.setSizePolicy(sizePolicy)
800
+ self.label_44.setMaximumSize(QtCore.QSize(300, 160))
801
+ self.label_44.setText("")
802
+ self.label_44.setPixmap(QtGui.QPixmap("../images/star.png"))
803
+ self.label_44.setScaledContents(True)
804
+ self.label_44.setObjectName("label_44")
805
+ self.verticalLayout_16.addWidget(self.label_44)
806
+ self.verticalLayout_18.addLayout(self.verticalLayout_16)
786
807
  self.line_4 = QtWidgets.QFrame(self.tab_star)
787
- self.line_4.setGeometry(QtCore.QRect(30, 560, 511, 16))
788
808
  self.line_4.setFrameShape(QtWidgets.QFrame.HLine)
789
809
  self.line_4.setFrameShadow(QtWidgets.QFrame.Sunken)
790
810
  self.line_4.setObjectName("line_4")
811
+ self.verticalLayout_18.addWidget(self.line_4)
812
+ self.verticalLayout_17 = QtWidgets.QVBoxLayout()
813
+ self.verticalLayout_17.setObjectName("verticalLayout_17")
791
814
  self.label_49 = QtWidgets.QLabel(self.tab_star)
792
- self.label_49.setGeometry(QtCore.QRect(40, 580, 81, 16))
793
815
  font = QtGui.QFont()
794
816
  font.setBold(True)
795
817
  self.label_49.setFont(font)
796
818
  self.label_49.setObjectName("label_49")
819
+ self.verticalLayout_17.addWidget(self.label_49)
797
820
  self.label_license = QtWidgets.QLabel(self.tab_star)
798
- self.label_license.setGeometry(QtCore.QRect(40, 610, 511, 81))
799
821
  self.label_license.setObjectName("label_license")
800
- self.layoutWidget = QtWidgets.QWidget(self.tab_star)
801
- self.layoutWidget.setGeometry(QtCore.QRect(40, 290, 501, 33))
802
- self.layoutWidget.setObjectName("layoutWidget")
803
- self.horizontalLayout_20 = QtWidgets.QHBoxLayout(self.layoutWidget)
804
- self.horizontalLayout_20.setContentsMargins(0, 0, 0, 0)
805
- self.horizontalLayout_20.setObjectName("horizontalLayout_20")
806
- self.label_45 = QtWidgets.QLabel(self.layoutWidget)
807
- self.label_45.setObjectName("label_45")
808
- self.horizontalLayout_20.addWidget(self.label_45)
809
- self.email_lineEdit = QtWidgets.QLineEdit(self.layoutWidget)
810
- self.email_lineEdit.setObjectName("email_lineEdit")
811
- self.horizontalLayout_20.addWidget(self.email_lineEdit)
812
- self.fetch_trial_pushButton = QtWidgets.QPushButton(self.layoutWidget)
813
- self.fetch_trial_pushButton.setObjectName("fetch_trial_pushButton")
814
- self.horizontalLayout_20.addWidget(self.fetch_trial_pushButton)
822
+ self.verticalLayout_17.addWidget(self.label_license)
823
+ self.verticalLayout_18.addLayout(self.verticalLayout_17)
824
+ spacerItem29 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
825
+ self.verticalLayout_18.addItem(spacerItem29)
815
826
  self.tabWidget.addTab(self.tab_star, "")
816
827
  self.horizontalLayout_12.addWidget(self.tabWidget)
817
828
  self.verticalLayout_6 = QtWidgets.QVBoxLayout()
@@ -828,7 +839,7 @@ class Ui_MainWindow(object):
828
839
  MainWindow.setCentralWidget(self.centralwidget)
829
840
 
830
841
  self.retranslateUi(MainWindow)
831
- self.tabWidget.setCurrentIndex(1)
842
+ self.tabWidget.setCurrentIndex(5)
832
843
  QtCore.QMetaObject.connectSlotsByName(MainWindow)
833
844
 
834
845
  def retranslateUi(self, MainWindow):
@@ -876,14 +887,14 @@ class Ui_MainWindow(object):
876
887
  self.label_20.setText(_translate("MainWindow", "临本机时文件目录:"))
877
888
  self.label_18.setText(_translate("MainWindow", "主机名/IP:"))
878
889
  self.groupBox_8.setTitle(_translate("MainWindow", "Clickhouse设置(捐赠权益)"))
879
- self.clickhouse_test_pushButton.setText(_translate("MainWindow", "测试连接"))
880
- self.label_52.setText(_translate("MainWindow", "密码"))
890
+ self.label_53.setText(_translate("MainWindow", "本机临时文件目录:"))
881
891
  self.label_54.setText(_translate("MainWindow", "主机名/IP:"))
882
892
  self.label_51.setText(_translate("MainWindow", "HTTP端口号:"))
883
- self.label_53.setText(_translate("MainWindow", "本机临时文件目录:"))
884
- self.clickhouse_tmpdir_pushButton.setText(_translate("MainWindow", "选择"))
885
893
  self.label_50.setText(_translate("MainWindow", "用户名:"))
886
894
  self.label_55.setText(_translate("MainWindow", "TCP端口号"))
895
+ self.label_52.setText(_translate("MainWindow", "密码"))
896
+ self.clickhouse_test_pushButton.setText(_translate("MainWindow", "测试连接"))
897
+ self.clickhouse_tmpdir_pushButton.setText(_translate("MainWindow", "选择"))
887
898
  self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("MainWindow", "存储设置"))
888
899
  self.label_43.setText(_translate("MainWindow", " 注:HDF5存储导入时,请关闭其他 hikyuu 进程,HDF5不支持同时读写!"))
889
900
  self.sched_import_pushButton.setText(_translate("MainWindow", "启动定时导入"))
@@ -904,19 +915,19 @@ class Ui_MainWindow(object):
904
915
  "hr { height: 1px; border-width: 0; }\n"
905
916
  "li.unchecked::marker { content: \"\\2610\"; }\n"
906
917
  "li.checked::marker { content: \"\\2612\"; }\n"
907
- "</style></head><body style=\" font-family:\'.AppleSystemUIFont\'; font-size:13pt; font-weight:400; font-style:normal;\">\n"
908
- "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\'; font-size:9pt;\">导入上证日线记录:</span></p>\n"
909
- "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\'; font-size:9pt;\">导入深证日线记录:</span></p>\n"
910
- "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\'; font-size:9pt;\">导入上证5分钟线记录:</span></p>\n"
911
- "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\'; font-size:9pt;\">导入深证5分钟线记录:</span></p>\n"
912
- "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\'; font-size:9pt;\">导入上证1分钟线记录:</span></p>\n"
913
- "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\'; font-size:9pt;\">导入深证1分钟线记录:</span></p>\n"
914
- "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\'; font-size:9pt;\">导入上证分笔记录:</span></p>\n"
915
- "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\'; font-size:9pt;\">导入深证分笔记录:</span></p>\n"
916
- "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\'; font-size:9pt;\">导入上证分时数据:</span></p>\n"
917
- "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\'; font-size:9pt;\">导入深证分时数据:</span></p>\n"
918
- "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\'; font-size:9pt;\">导入权息数据数:</span></p>\n"
919
- "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\'; font-size:9pt;\">导入完毕!</span></p></body></html>"))
918
+ "</style></head><body style=\" font-family:\'Microsoft YaHei UI\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
919
+ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\';\">导入上证日线记录:</span></p>\n"
920
+ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\';\">导入深证日线记录:</span></p>\n"
921
+ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\';\">导入上证5分钟线记录:</span></p>\n"
922
+ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\';\">导入深证5分钟线记录:</span></p>\n"
923
+ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\';\">导入上证1分钟线记录:</span></p>\n"
924
+ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\';\">导入深证1分钟线记录:</span></p>\n"
925
+ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\';\">导入上证分笔记录:</span></p>\n"
926
+ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\';\">导入深证分笔记录:</span></p>\n"
927
+ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\';\">导入上证分时数据:</span></p>\n"
928
+ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\';\">导入深证分时数据:</span></p>\n"
929
+ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\';\">导入权息数据数:</span></p>\n"
930
+ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\';\">导入完毕!</span></p></body></html>"))
920
931
  self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "执行导入"))
921
932
  self.groupBox_6.setTitle(_translate("MainWindow", "预加载设置"))
922
933
  self.label_35.setText(_translate("MainWindow", "此处为 Hikyuu 运行时的数据预加载设置,请根据机器内存大小选择"))
@@ -964,13 +975,13 @@ class Ui_MainWindow(object):
964
975
  "hr { height: 1px; border-width: 0; }\n"
965
976
  "li.unchecked::marker { content: \"\\2610\"; }\n"
966
977
  "li.checked::marker { content: \"\\2612\"; }\n"
967
- "</style></head><body style=\" font-family:\'.AppleSystemUIFont\'; font-size:13pt; font-weight:400; font-style:normal;\">\n"
968
- "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\'; font-size:9pt;\">注:</span></p>\n"
969
- "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\'; font-size:10pt; font-weight:600; color:#ff0000;\">1、行情采集服务仅对预加载数据有效</span><span style=\" font-family:\'SimSun\'; font-size:9pt;\">,在行情采集服务运行期间,hikyuu.interactive运行时将自动连接采集服务获取行情数据,并更新预加载的内容数据。</span></p>\n"
970
- "<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:\'SimSun\'; font-size:9pt;\"><br /></p>\n"
971
- "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\'; font-size:9pt;\">2、如使用芝麻代理(</span><a href=\"http://h.zhimaruanjian.com/\"><span style=\" font-family:\'SimSun\'; font-size:9pt; text-decoration: underline; color:#0000ff;\">http://h.zhimaruanjian.com/</span></a><span style=\" font-family:\'SimSun\'; font-size:9pt;\">),请自行申请(需付费),并确保ip为其白名单。</span></p>\n"
972
- "<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:\'SimSun\'; font-size:9pt;\"><br /></p>\n"
973
- "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\'; font-size:9pt; font-weight:696; color:#0000ff;\">3、此处采集为网络采集,更推荐直接运行安装目录下gui子目录下的 start_qmt.py ,使用miniqmt 实时服务。该程序独立运行,不用关闭,和这里的采集效果一样。注意:miniqmt需要QMT交易端配合,且在同一机器上执行。</span></p></body></html>"))
978
+ "</style></head><body style=\" font-family:\'Microsoft YaHei UI\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
979
+ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\';\">注:</span></p>\n"
980
+ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\'; font-size:10pt; font-weight:600; color:#ff0000;\">1、行情采集服务仅对预加载数据有效</span><span style=\" font-family:\'SimSun\';\">,在行情采集服务运行期间,hikyuu.interactive运行时将自动连接采集服务获取行情数据,并更新预加载的内容数据。</span></p>\n"
981
+ "<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:\'SimSun\';\"><br /></p>\n"
982
+ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\';\">2、如使用芝麻代理(</span><a href=\"http://h.zhimaruanjian.com/\"><span style=\" font-family:\'SimSun\'; text-decoration: underline; color:#0000ff;\">http://h.zhimaruanjian.com/</span></a><span style=\" font-family:\'SimSun\';\">),请自行申请(需付费),并确保ip为其白名单。</span></p>\n"
983
+ "<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:\'SimSun\';\"><br /></p>\n"
984
+ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'SimSun\'; font-weight:696; color:#0000ff;\">3、此处采集为网络采集,更推荐直接运行安装目录下gui子目录下的 start_qmt.py ,使用miniqmt 实时服务。该程序独立运行,不用关闭,和这里的采集效果一样。注意:miniqmt需要QMT交易端配合,且在同一机器上执行。</span></p></body></html>"))
974
985
  self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "行情采集服务"))
975
986
  self.label_46.setText(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
976
987
  "<html><head><meta name=\"qrichtext\" content=\"1\" /><meta charset=\"utf-8\" /><style type=\"text/css\">\n"
@@ -978,15 +989,15 @@ class Ui_MainWindow(object):
978
989
  "hr { height: 1px; border-width: 0; }\n"
979
990
  "li.unchecked::marker { content: \"\\2610\"; }\n"
980
991
  "li.checked::marker { content: \"\\2612\"; }\n"
981
- "</style></head><body style=\" font-family:\'Microsoft YaHei UI\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
982
- "<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'.AppleSystemUIFont\'; font-size:10pt;\">Hikyuu </span><span style=\" font-family:\'.AppleSystemUIFont\'; font-size:10pt; font-weight:700;\">专注于量化交易领域的核心技术构建,涵盖交易模型开发、极速计算引擎、高效回测框架及实盘拓展能力</span><span style=\" font-family:\'.AppleSystemUIFont\'; font-size:10pt;\">,定位为量化交易的基础设施级计算引擎,为量化交易爱好者和专业提供高性能底层架构支持。随着社区规模扩大,项目持续迭代及技术支持事务逐渐分散了作者在策略研究上的精力。为保障项目的专注度与可持续性,现对捐赠用户提供部分额外功能作为回馈。诚挚期待社区伙伴的支持,您的参与都将直接助力 Hikyuu 的技术创新,共同推动量化交易基础设施的迭代升级。</span></p>\n"
992
+ "</style></head><body style=\" font-family:\'Arial\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
993
+ "<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'.AppleSystemUIFont\'; font-size:10pt;\">Hikyuu </span><span style=\" font-family:\'.AppleSystemUIFont\'; font-size:10pt; font-weight:700;\">专注于量化交易领域的核心技术构建,涵盖交易模型开发、极速计算引擎、高效回测框架及实盘拓展能力</span><span style=\" font-family:\'.AppleSystemUIFont\'; font-size:10pt;\">,定位为量化交易的基础设施级计算引擎,为量化交易爱好者提供高性能底层架构支持。随着社区规模扩大,分散了作者在策略研究上的精力。为保障项目的可持续性,现对捐赠用户提供部分额外功能作为回馈,感谢社区伙伴的支持!</span></p>\n"
983
994
  "<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'.AppleSystemUIFont\'; font-size:10pt;\">捐赠功能以插件的方式提供,采用独立授权许可,完全在 hikyuu 之外,对喜欢自行编译扩展的朋友没有影响。因插件许可授权需要采集硬件信息,如有疑虑只要不申请试用许可和正式许可授权,不会触发硬件信息采集,如申请,视为同意采集。</span></p>\n"
984
995
  "<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'.AppleSystemUIFont\'; font-size:10pt; font-weight:700;\">详情参见:</span><a href=\"https://hikyuu.readthedocs.io/zh-cn/latest/vip/vip-plan.html\"><span style=\" font-family:\'.AppleSystemUIFont\'; font-size:10pt; text-decoration: underline; color:#3586ff;\">捐赠权益</span></a><span style=\" font-family:\'.AppleSystemUIFont\'; font-size:10pt; font-weight:700;\"> ,感谢大家的支持!</span></p></body></html>"))
985
- self.label_47.setText(_translate("MainWindow", "申请捐赠试用(30天试用)"))
986
- self.label_48.setText(_translate("MainWindow", "加入知识星球进行捐赠,可同时在3台设备上使用)"))
987
- self.label_49.setText(_translate("MainWindow", "当前捐赠授权信息"))
988
- self.label_license.setText(_translate("MainWindow", "TextLabel"))
996
+ self.label_47.setText(_translate("MainWindow", "申请捐赠功能试用(30天试用)"))
989
997
  self.label_45.setText(_translate("MainWindow", "电子邮件地址:"))
990
998
  self.fetch_trial_pushButton.setText(_translate("MainWindow", "申请试用许可"))
999
+ self.label_48.setText(_translate("MainWindow", "加入知识星球进行捐赠(可同时在3台设备上使用捐赠功能)"))
1000
+ self.label_49.setText(_translate("MainWindow", "当前捐赠授权信息"))
1001
+ self.label_license.setText(_translate("MainWindow", "TextLabel"))
991
1002
  self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_star), _translate("MainWindow", "项目捐赠"))
992
1003
  self.label_41.setText(_translate("MainWindow", "执行日志"))