Browse Source

update

master
zhaohe 2 years ago
parent
commit
304db928d7
  1. 2
      libxsync
  2. 182
      mainwindow.cpp
  3. 6
      mainwindow.h
  4. 312
      mainwindow.ui

2
libxsync

@ -1 +1 @@
Subproject commit 5d0eb6fcc626df90938927b50280699f90604bfb
Subproject commit 76e2707f5c6bd1297e135f41e55ade20f456678c

182
mainwindow.cpp

@ -172,54 +172,74 @@ void MainWindow::updateUI_timeCodeInfo(uint32_t regoff) {
void MainWindow::construct_reg_table() { // void MainWindow::construct_reg_table() { //
int regoff = 1; int regoff = 1;
push_reg(ui->gridLayoutWidget, regoff++, "software_version", kxsync_reg_software_version, 0, kreg_val_type_dotted_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "manufacturer0", kxsync_reg_manufacturer0, 0, kreg_val_type_str);
push_reg(ui->gridLayoutWidget, regoff++, "manufacturer1", kxsync_reg_manufacturer1, 0, kreg_val_type_str);
push_reg(ui->gridLayoutWidget, regoff++, "product_type_id", kxsync_reg_product_type_id, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "sn_id0", kxsync_reg_sn_id0, 0, kreg_val_type_dotted_hex);
push_reg(ui->gridLayoutWidget, regoff++, "sn_id1", kxsync_reg_sn_id1, 0, kreg_val_type_dotted_hex);
push_reg(ui->gridLayoutWidget, regoff++, "sn_id2", kxsync_reg_sn_id2, 0, kreg_val_type_dotted_hex);
push_reg(ui->gridLayoutWidget, regoff++, "mac0", kxsync_reg_mac0, 0, kreg_val_type_dotted_hex);
push_reg(ui->gridLayoutWidget, regoff++, "mac1", kxsync_reg_mac1, 0, kreg_val_type_dotted_hex);
// kxsync_reg_stm32_ip
// kxsync_reg_stm32_gw
// kxsync_reg_stm32_netmask
// kxsync_reg_stm32_camera_sync_signal_count
push_reg(ui->gridLayoutWidget, regoff++, "stm32_ip", kxsync_reg_stm32_ip, 0, kreg_val_type_dotted_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "stm32_gw", kxsync_reg_stm32_gw, 0, kreg_val_type_dotted_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "stm32_netmask", kxsync_reg_stm32_netmask, 0, kreg_val_type_dotted_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "stm32_camera_sync_signal_count", kxsync_reg_stm32_camera_sync_signal_count, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg0", kxsync_fpga_reg_test_reg0, 0, kreg_val_type_hex);
push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg1", kxsync_fpga_reg_test_reg1, 0, kreg_val_type_hex);
push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg2", kxsync_fpga_reg_test_reg2, 0, kreg_val_type_hex);
push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg3", kxsync_fpga_reg_test_reg3, 0, kreg_val_type_hex);
push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg4", kxsync_fpga_reg_test_reg4, 0, kreg_val_type_hex);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_input_sig_slt", kxsync_reg_ttlout1_input_sig_slt, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_output_sig_slt", kxsync_reg_ttlout1_output_sig_slt, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_config", kxsync_reg_ttlout1_config, 0, kreg_val_type_hex);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_pulse_mode_duration", kxsync_reg_ttlout1_pulse_mode_duration, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_pulse_mode_delay", kxsync_reg_ttlout1_pulse_mode_delay, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_input_sig_slt", kxsync_reg_ttlout2_input_sig_slt, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_output_sig_slt", kxsync_reg_ttlout2_output_sig_slt, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_config", kxsync_reg_ttlout2_config, 0, kreg_val_type_hex);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_pulse_mode_duration", kxsync_reg_ttlout2_pulse_mode_duration, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_pulse_mode_delay", kxsync_reg_ttlout2_pulse_mode_delay, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_input_sig_slt", kxsync_reg_ttlout3_input_sig_slt, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_output_sig_slt", kxsync_reg_ttlout3_output_sig_slt, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_config", kxsync_reg_ttlout3_config, 0, kreg_val_type_hex);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_pulse_mode_duration", kxsync_reg_ttlout3_pulse_mode_duration, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_pulse_mode_delay", kxsync_reg_ttlout3_pulse_mode_delay, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_input_sig_slt", kxsync_reg_ttlout4_input_sig_slt, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_output_sig_slt", kxsync_reg_ttlout4_output_sig_slt, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_config", kxsync_reg_ttlout4_config, 0, kreg_val_type_hex);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_pulse_mode_duration", kxsync_reg_ttlout4_pulse_mode_duration, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "software_version", reg::ksoftware_version, 0, kreg_val_type_dotted_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "manufacturer0", reg::kmanufacturer0, 0, kreg_val_type_str);
push_reg(ui->gridLayoutWidget, regoff++, "manufacturer1", reg::kmanufacturer1, 0, kreg_val_type_str);
push_reg(ui->gridLayoutWidget, regoff++, "product_type_id", reg::kproduct_type_id, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "sn_id0", reg::ksn_id0, 0, kreg_val_type_dotted_hex);
push_reg(ui->gridLayoutWidget, regoff++, "sn_id1", reg::ksn_id1, 0, kreg_val_type_dotted_hex);
push_reg(ui->gridLayoutWidget, regoff++, "sn_id2", reg::ksn_id2, 0, kreg_val_type_dotted_hex);
push_reg(ui->gridLayoutWidget, regoff++, "mac0", reg::kmac0, 0, kreg_val_type_dotted_hex);
push_reg(ui->gridLayoutWidget, regoff++, "mac1", reg::kmac1, 0, kreg_val_type_dotted_hex);
// reg::kstm32_ip
// reg::kstm32_gw
// reg::kstm32_netmask
// reg::kstm32_camera_sync_signal_count
push_reg(ui->gridLayoutWidget, regoff++, "stm32_ip", reg::kstm32_ip, 0, kreg_val_type_dotted_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "stm32_gw", reg::kstm32_gw, 0, kreg_val_type_dotted_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "stm32_netmask", reg::kstm32_netmask, 0, kreg_val_type_dotted_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "stm32_camera_sync_signal_count", reg::kstm32_camera_sync_signal_count, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg0", reg::kfpga_test_reg0, 0, kreg_val_type_hex);
push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg1", reg::kfpga_test_reg1, 0, kreg_val_type_hex);
push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg2", reg::kfpga_test_reg2, 0, kreg_val_type_hex);
push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg3", reg::kfpga_test_reg3, 0, kreg_val_type_hex);
push_reg(ui->gridLayoutWidget, regoff++, "fpga_reg_test_reg4", reg::kfpga_test_reg4, 0, kreg_val_type_hex);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_input_sig_slt", reg::kttlout1_input_sig_slt, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_output_sig_slt", reg::kttlout1_output_sig_slt, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_config", reg::kttlout1_config, 0, kreg_val_type_hex);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_pulse_mode_duration", reg::kttlout1_pulse_mode_duration, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout1_pulse_mode_delay", reg::kttlout1_pulse_mode_delay, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_input_sig_slt", reg::kttlout2_input_sig_slt, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_output_sig_slt", reg::kttlout2_output_sig_slt, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_config", reg::kttlout2_config, 0, kreg_val_type_hex);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_pulse_mode_duration", reg::kttlout2_pulse_mode_duration, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout2_pulse_mode_delay", reg::kttlout2_pulse_mode_delay, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_input_sig_slt", reg::kttlout3_input_sig_slt, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_output_sig_slt", reg::kttlout3_output_sig_slt, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_config", reg::kttlout3_config, 0, kreg_val_type_hex);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_pulse_mode_duration", reg::kttlout3_pulse_mode_duration, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout3_pulse_mode_delay", reg::kttlout3_pulse_mode_delay, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_input_sig_slt", reg::kttlout4_input_sig_slt, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_output_sig_slt", reg::kttlout4_output_sig_slt, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_config", reg::kttlout4_config, 0, kreg_val_type_hex);
push_reg(ui->gridLayoutWidget, regoff++, "ttlout4_pulse_mode_duration", reg::kttlout4_pulse_mode_duration, 0, kreg_val_type_decimal);
// kSigGenerator_ctl
// kSigGenerator_genlock_format
// kSigGenerator_timecode_format
// kSigGenerator_control_trigger_reg
// kSigGenerator_timecode0
// kSigGenerator_timecode1
// kSigGenerator_timecode_start0
// kSigGenerator_timecode_start1
// kSigGenerator_work_state
push_reg(ui->gridLayoutWidget, regoff++, "SigGenerator_ctl", reg::kSigGenerator_ctl, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "SigGenerator_genlock_format", reg::kSigGenerator_genlock_format, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "SigGenerator_timecode_format", reg::kSigGenerator_timecode_format, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "SigGenerator_control_trigger_reg", reg::kSigGenerator_control_trigger_reg, 0, kreg_val_type_decimal);
push_reg(ui->gridLayoutWidget, regoff++, "SigGenerator_timecode0", reg::kSigGenerator_timecode0, 0, kreg_val_type_dotted_hex);
push_reg(ui->gridLayoutWidget, regoff++, "SigGenerator_timecode1", reg::kSigGenerator_timecode1, 0, kreg_val_type_dotted_hex);
push_reg(ui->gridLayoutWidget, regoff++, "SigGenerator_timecode_start0", reg::kSigGenerator_timecode_start0, 0, kreg_val_type_dotted_hex);
push_reg(ui->gridLayoutWidget, regoff++, "SigGenerator_timecode_start1", reg::kSigGenerator_timecode_start1, 0, kreg_val_type_dotted_hex);
push_reg(ui->gridLayoutWidget, regoff++, "SigGenerator_work_state", reg::kSigGenerator_work_state, 0, kreg_val_type_decimal);
// 设置table的高度 // 设置table的高度
auto qrect = ui->gridLayoutWidget->geometry(); auto qrect = ui->gridLayoutWidget->geometry();
@ -244,6 +264,23 @@ void MainWindow::UI_TTLOutputMoudleConstruct() {
} }
} }
void MainWindow::UI_SigGeneratorConstruct() {
ui->SigGenerator_ControlMode->clear();
for (auto &str : sig_generator_module::ControlModeStrSet()) {
ui->SigGenerator_ControlMode->addItem(QString::fromStdString(str));
}
ui->SigGenerator_GenlockFormat->clear();
for (auto &str : GenlockFormatStrSet()) {
ui->SigGenerator_GenlockFormat->addItem(QString::fromStdString(str));
}
ui->SigGenerator_TimecodeFormat->clear();
for (auto &str : TimecodeFormatStrSet()) {
ui->SigGenerator_TimecodeFormat->addItem(QString::fromStdString(str));
}
}
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {
ui->setupUi(this); ui->setupUi(this);
m_mainWindow = this; m_mainWindow = this;
@ -254,6 +291,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
construct_reg_table(); construct_reg_table();
qInstallMessageHandler(log_output); qInstallMessageHandler(log_output);
UI_TTLOutputMoudleConstruct(); UI_TTLOutputMoudleConstruct();
UI_SigGeneratorConstruct();
/******************************************************************************* /*******************************************************************************
* * * *
@ -276,9 +314,9 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
// m_xsync.reset(new Xsync()); // m_xsync.reset(new Xsync());
Xsync::Ins().initialize(XSyncUdpFactoryImpl::Ins()); Xsync::Ins().initialize(XSyncUdpFactoryImpl::Ins());
Xsync::Ins().Basic_registerOnTimecodeMsgCallback([this](xysnc_timecode_t *timecode_msg) { //
xysnc_timecode_t timecode = *timecode_msg;
QString text = QString(fmt("%02d:%02d:%02d:%02d", timecode.hour, timecode.minute, timecode.second, timecode.frame));
Xsync::Ins().Basic_registerOnTimecodeMsgCallback([this](XsyncTimecode_t *timecode_msg) { //
XsyncTimecode_t timecode = *timecode_msg;
QString text = QString(fmt("%02d:%02d:%02d:%02d", timecode.hour, timecode.minute, timecode.second, timecode.frame));
updateUI_timeCodeInfo_signal(text); updateUI_timeCodeInfo_signal(text);
}); });
@ -417,4 +455,46 @@ void MainWindow::on_TTLOutputMoudle_Read_clicked() {
ui->TTLOutputMoudle_OutputSigType->setCurrentText(QString::fromStdString(ttlout_module::OutputSigType2Str(OutputSigType))); ui->TTLOutputMoudle_OutputSigType->setCurrentText(QString::fromStdString(ttlout_module::OutputSigType2Str(OutputSigType)));
ui->TTLOutputMoudle_TriggerModePulseWidth->setText(QString::number(TriggerModePulseWidth)); ui->TTLOutputMoudle_TriggerModePulseWidth->setText(QString::number(TriggerModePulseWidth));
ui->TTLOutputMoudle_TriggerModePulseDelay->setText(QString::number(TriggerModePulseDelay)); ui->TTLOutputMoudle_TriggerModePulseDelay->setText(QString::number(TriggerModePulseDelay));
}
void MainWindow::on_SigGenerator_Read_clicked() {
sig_generator_module::ControlMode_t ControlMode;
GenlockFormat_t GenlockFormat;
TimecodeFormat_t TimecodeFormat;
XsyncTimecode_t Timecode;
XsyncTimecode_t AutoStartTimecode;
uint32_t WorkState;
DO_XSYNC_FUNC(Xsync::Ins().SigGenerator_getControlMode(ControlMode));
DO_XSYNC_FUNC(Xsync::Ins().SigGenerator_getGenlockFormat(GenlockFormat));
DO_XSYNC_FUNC(Xsync::Ins().SigGenerator_getTimecodeFormat(TimecodeFormat));
DO_XSYNC_FUNC(Xsync::Ins().SigGenerator_getTimecode(Timecode));
DO_XSYNC_FUNC(Xsync::Ins().SigGenerator_getAutoStartTimecode(AutoStartTimecode));
DO_XSYNC_FUNC(Xsync::Ins().SigGenerator_getWorkState(WorkState));
ui->SigGenerator_ControlMode->setCurrentText(QString::fromStdString(sig_generator_module::ControlMode2Str(ControlMode)));
ui->SigGenerator_GenlockFormat->setCurrentText(QString::fromStdString(GenlockFormatToStr(GenlockFormat)));
ui->SigGenerator_TimecodeFormat->setCurrentText(QString::fromStdString(TimecodeFormatToStr(TimecodeFormat)));
ui->SigGenerator_Timecode->setText(QString(XsyncTimecodeToStr(Timecode).c_str()));
ui->SigGenerator_AutoStartTimecode->setText(QString(XsyncTimecodeToStr(AutoStartTimecode).c_str()));
ui->SigGenerator_WorkState->setText(QString::number(WorkState));
}
void MainWindow::on_SigGenerator_Update_clicked() {
auto ControlMode = sig_generator_module::Str2ControlMode(ui->SigGenerator_ControlMode->currentText().toStdString());
auto GenlockFormat = Str2GenlockFormat(ui->SigGenerator_GenlockFormat->currentText().toStdString());
auto TimecodeFormat = Str2TimecodeFormat(ui->SigGenerator_TimecodeFormat->currentText().toStdString());
XsyncTimecode_t timecode = Str2XsyncTimecode(ui->SigGenerator_Timecode->text().toStdString());
XsyncTimecode_t autoStartTimecode = Str2XsyncTimecode(ui->SigGenerator_AutoStartTimecode->text().toStdString());
DO_XSYNC_FUNC(Xsync::Ins().SigGenerator_setControlMode(ControlMode));
DO_XSYNC_FUNC(Xsync::Ins().SigGenerator_setGenlockFormat(GenlockFormat));
DO_XSYNC_FUNC(Xsync::Ins().SigGenerator_setTimecodeFormat(TimecodeFormat));
DO_XSYNC_FUNC(Xsync::Ins().SigGenerator_setTimecode(timecode));
DO_XSYNC_FUNC(Xsync::Ins().SigGenerator_setAutoStartTimecode(autoStartTimecode));
}
void MainWindow::on_SigGenerator_Start_clicked() {
DO_XSYNC_FUNC(Xsync::Ins().SigGenerator_manualStart());
}
void MainWindow::on_SigGenerator_Stop_clicked() {
DO_XSYNC_FUNC(Xsync::Ins().SigGenerator_manualStop());
} }

6
mainwindow.h

@ -102,6 +102,11 @@ class MainWindow : public QMainWindow {
void on_TTLOutputMoudle_Read_clicked(); void on_TTLOutputMoudle_Read_clicked();
void on_TTLOutputMoudle_Update_clicked(); void on_TTLOutputMoudle_Update_clicked();
void on_SigGenerator_Read_clicked();
void on_SigGenerator_Update_clicked();
void on_SigGenerator_Start_clicked();
void on_SigGenerator_Stop_clicked();
signals: signals:
void append_log_signal(QString str); void append_log_signal(QString str);
void updateUI_timeCodeInfo_signal(QString); void updateUI_timeCodeInfo_signal(QString);
@ -114,5 +119,6 @@ class MainWindow : public QMainWindow {
void updateUI_timeCodeInfo(uint32_t regoff); void updateUI_timeCodeInfo(uint32_t regoff);
void UI_TTLOutputMoudleConstruct(); void UI_TTLOutputMoudleConstruct();
void UI_SigGeneratorConstruct();
}; };
#endif // MAINWINDOW_H #endif // MAINWINDOW_H

312
mainwindow.ui

@ -102,7 +102,7 @@
</rect> </rect>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>2</number>
<number>3</number>
</property> </property>
<widget class="QWidget" name="tab"> <widget class="QWidget" name="tab">
<attribute name="title"> <attribute name="title">
@ -385,6 +385,84 @@
<bool>false</bool> <bool>false</bool>
</property> </property>
</widget> </widget>
<widget class="QPushButton" name="SetGenlockFormat">
<property name="geometry">
<rect>
<x>490</x>
<y>20</y>
<width>131</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>SetGenlockFormat</string>
</property>
</widget>
<widget class="QPushButton" name="GetGenlockFormat">
<property name="geometry">
<rect>
<x>490</x>
<y>60</y>
<width>131</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>GetGenlockFormat</string>
</property>
</widget>
<widget class="QPushButton" name="SetTimecodeFormat">
<property name="geometry">
<rect>
<x>490</x>
<y>100</y>
<width>131</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>SetTimecodeFormat</string>
</property>
</widget>
<widget class="QPushButton" name="GetTimecodeFormat">
<property name="geometry">
<rect>
<x>490</x>
<y>140</y>
<width>131</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>GetTimecodeFormat</string>
</property>
</widget>
<widget class="QComboBox" name="GenlockFormat">
<property name="geometry">
<rect>
<x>630</x>
<y>40</y>
<width>241</width>
<height>31</height>
</rect>
</property>
<property name="currentIndex">
<number>-1</number>
</property>
</widget>
<widget class="QComboBox" name="TimecodeFormat">
<property name="geometry">
<rect>
<x>630</x>
<y>110</y>
<width>241</width>
<height>31</height>
</rect>
</property>
<property name="currentIndex">
<number>-1</number>
</property>
</widget>
</widget> </widget>
<widget class="QWidget" name="tab_3"> <widget class="QWidget" name="tab_3">
<attribute name="title"> <attribute name="title">
@ -442,7 +520,7 @@
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>10</string>
<string/>
</property> </property>
<property name="readOnly"> <property name="readOnly">
<bool>false</bool> <bool>false</bool>
@ -464,7 +542,7 @@
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>5</string>
<string/>
</property> </property>
<property name="readOnly"> <property name="readOnly">
<bool>false</bool> <bool>false</bool>
@ -549,6 +627,234 @@
</property> </property>
</widget> </widget>
</widget> </widget>
<widget class="QWidget" name="tab_4">
<attribute name="title">
<string>信号生成器</string>
</attribute>
<widget class="QLabel" name="label_5">
<property name="geometry">
<rect>
<x>20</x>
<y>30</y>
<width>101</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>ControlMode</string>
</property>
</widget>
<widget class="QLabel" name="label_6">
<property name="geometry">
<rect>
<x>20</x>
<y>70</y>
<width>141</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>Timecode(hh:mm:ss:ff)</string>
</property>
</widget>
<widget class="QLabel" name="label_7">
<property name="geometry">
<rect>
<x>20</x>
<y>110</y>
<width>191</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>AutoStartTimecode(hh:mm:ss:ff)</string>
</property>
</widget>
<widget class="QLabel" name="label_9">
<property name="geometry">
<rect>
<x>20</x>
<y>150</y>
<width>101</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>GenlockFormat</string>
</property>
</widget>
<widget class="QLabel" name="label_10">
<property name="geometry">
<rect>
<x>20</x>
<y>190</y>
<width>101</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>TimecodeFormat</string>
</property>
</widget>
<widget class="QComboBox" name="SigGenerator_ControlMode">
<property name="geometry">
<rect>
<x>240</x>
<y>30</y>
<width>241</width>
<height>31</height>
</rect>
</property>
<property name="currentIndex">
<number>-1</number>
</property>
</widget>
<widget class="QComboBox" name="SigGenerator_GenlockFormat">
<property name="geometry">
<rect>
<x>240</x>
<y>150</y>
<width>241</width>
<height>31</height>
</rect>
</property>
<property name="currentIndex">
<number>-1</number>
</property>
</widget>
<widget class="QComboBox" name="SigGenerator_TimecodeFormat">
<property name="geometry">
<rect>
<x>240</x>
<y>190</y>
<width>241</width>
<height>31</height>
</rect>
</property>
<property name="currentIndex">
<number>-1</number>
</property>
</widget>
<widget class="QLineEdit" name="SigGenerator_Timecode">
<property name="geometry">
<rect>
<x>240</x>
<y>70</y>
<width>241</width>
<height>31</height>
</rect>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string/>
</property>
<property name="readOnly">
<bool>false</bool>
</property>
</widget>
<widget class="QLineEdit" name="SigGenerator_AutoStartTimecode">
<property name="geometry">
<rect>
<x>240</x>
<y>110</y>
<width>241</width>
<height>31</height>
</rect>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string/>
</property>
<property name="readOnly">
<bool>false</bool>
</property>
</widget>
<widget class="QPushButton" name="SigGenerator_Read">
<property name="geometry">
<rect>
<x>530</x>
<y>30</y>
<width>151</width>
<height>41</height>
</rect>
</property>
<property name="text">
<string>Read</string>
</property>
</widget>
<widget class="QPushButton" name="SigGenerator_Update">
<property name="geometry">
<rect>
<x>530</x>
<y>80</y>
<width>151</width>
<height>41</height>
</rect>
</property>
<property name="text">
<string>Update</string>
</property>
</widget>
<widget class="QPushButton" name="SigGenerator_Start">
<property name="geometry">
<rect>
<x>530</x>
<y>130</y>
<width>151</width>
<height>41</height>
</rect>
</property>
<property name="text">
<string>启动</string>
</property>
</widget>
<widget class="QPushButton" name="SigGenerator_Stop">
<property name="geometry">
<rect>
<x>530</x>
<y>180</y>
<width>151</width>
<height>41</height>
</rect>
</property>
<property name="text">
<string>停止</string>
</property>
</widget>
<widget class="QTextBrowser" name="SigGenerator_WorkState">
<property name="geometry">
<rect>
<x>240</x>
<y>230</y>
<width>141</width>
<height>31</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="label_11">
<property name="geometry">
<rect>
<x>20</x>
<y>230</y>
<width>101</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>WorkState</string>
</property>
</widget>
</widget>
</widget> </widget>
</widget> </widget>
<widget class="QMenuBar" name="menubar"> <widget class="QMenuBar" name="menubar">

Loading…
Cancel
Save