fix mainui b1-b4
This commit is contained in:
parent
6b09f6ba69
commit
0b95169db5
@ -7,7 +7,7 @@ import zmq
|
|||||||
|
|
||||||
from flandre.config import C, ISDEV
|
from flandre.config import C, ISDEV
|
||||||
from flandre.nodes.Node import Node
|
from flandre.nodes.Node import Node
|
||||||
from flandre.utils.Msg import MoveAxisMsg, KillMsg, SetSeqMetaMsg, SeqIdMinMax, SetBaseMsg, SeqListMsg, SeqIdList, \
|
from flandre.utils.Msg import MoveAxisMsg, KillMsg, SetSeqMetaMsg, SeqIdMinMax, SetBaseMsg, PlaybackSeqListMsg, SeqIdList, \
|
||||||
SetSidMsg, RfFrameWithMetaMsg
|
SetSidMsg, RfFrameWithMetaMsg
|
||||||
from flandre.utils.RfFile import RfSequence
|
from flandre.utils.RfFile import RfSequence
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ class Loader(Node):
|
|||||||
C.data_folder = base
|
C.data_folder = base
|
||||||
if not ISDEV:
|
if not ISDEV:
|
||||||
C.write_config()
|
C.write_config()
|
||||||
self.send(SeqListMsg(seq_list))
|
self.send(PlaybackSeqListMsg(seq_list))
|
||||||
elif isinstance(msg, KillMsg):
|
elif isinstance(msg, KillMsg):
|
||||||
if msg.name == '':
|
if msg.name == '':
|
||||||
break
|
break
|
||||||
|
|||||||
@ -7,16 +7,16 @@ from enum import Enum, auto
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
import zmq
|
import zmq
|
||||||
from PyQt6 import QtCore, QtWidgets, QtGui
|
from PyQt6 import QtWidgets, QtGui
|
||||||
from PyQt6.QtCore import QByteArray
|
from PyQt6.QtCore import QByteArray, pyqtSlot
|
||||||
from PyQt6.QtWidgets import QMainWindow, QApplication, QFrame, QMessageBox, QFileDialog, QLineEdit
|
from PyQt6.QtWidgets import QMainWindow, QApplication, QFrame, QMessageBox, QFileDialog, QLineEdit
|
||||||
|
|
||||||
from flandre import ASSETS
|
from flandre import ASSETS
|
||||||
from flandre.pyqt.Main import Ui_MainWindow
|
|
||||||
from flandre.pyqt.ZMQReceiver import ZMQReceiver
|
|
||||||
from flandre.config import DS, C
|
from flandre.config import DS, C
|
||||||
from flandre.nodes.Node import Node
|
from flandre.nodes.Node import Node
|
||||||
from flandre.utils.Msg import KillMsg, Msg, ImageArgMsg, SeqIdMinMax, MoveAxisMsg, SeqListMsg, SetBaseMsg, \
|
from flandre.pyqt.Main import Ui_MainWindow
|
||||||
|
from flandre.pyqt.ZMQReceiver import ZMQReceiver
|
||||||
|
from flandre.utils.Msg import KillMsg, Msg, ImageArgMsg, SeqIdMinMax, MoveAxisMsg, PlaybackSeqListMsg, SetBaseMsg, \
|
||||||
SetSeqMetaMsg, SetPlayMode, DeviceConnectedMsg, DeviceEnabledMsg, DeviceOnlineMsg, SetDeviceEnabledMsg, \
|
SetSeqMetaMsg, SetPlayMode, DeviceConnectedMsg, DeviceEnabledMsg, DeviceOnlineMsg, SetDeviceEnabledMsg, \
|
||||||
SetDeviceConnectedMsg, DeviceConfigListMsg, SetDeviceConfigMsg, SetRecordMsg, RobotRtsiMsg, RecordFrameMsg, \
|
SetDeviceConnectedMsg, DeviceConfigListMsg, SetDeviceConfigMsg, SetRecordMsg, RobotRtsiMsg, RecordFrameMsg, \
|
||||||
SeqIdList, SetWindowVisibleMsg, SetSidMsg, ImagingConfigNameListMsg, DeviceZero, DeviceSwitchMsg, \
|
SeqIdList, SetWindowVisibleMsg, SetSidMsg, ImagingConfigNameListMsg, DeviceZero, DeviceSwitchMsg, \
|
||||||
@ -89,12 +89,9 @@ class Adv(QMainWindow, Ui_MainWindow):
|
|||||||
self.s_sid.valueChanged.connect(self.on_s_sid)
|
self.s_sid.valueChanged.connect(self.on_s_sid)
|
||||||
self.sp_sid.valueChanged.connect(self.on_sp_sid)
|
self.sp_sid.valueChanged.connect(self.on_sp_sid)
|
||||||
self.arg = ImageArgMsg('ui', t_start=0, t_end=1499)
|
self.arg = ImageArgMsg('ui', t_start=0, t_end=1499)
|
||||||
self.b_base.clicked.connect(self.on_base_open)
|
|
||||||
self.seq_meta: RfSequenceMeta | None = None
|
self.seq_meta: RfSequenceMeta | None = None
|
||||||
# self.b_play_live.clicked.connect(self.on_play_live)
|
# self.b_play_live.clicked.connect(self.on_play_live)
|
||||||
# self.b_play_playback.clicked.connect(self.on_play_playback)
|
# self.b_play_playback.clicked.connect(self.on_play_playback)
|
||||||
self.g_playback.clicked.connect(self.on_play_playback)
|
|
||||||
self.g_live.clicked.connect(self.on_play_live)
|
|
||||||
|
|
||||||
self.b_record.clicked.connect(self.on_record)
|
self.b_record.clicked.connect(self.on_record)
|
||||||
self.record = False
|
self.record = False
|
||||||
@ -109,9 +106,6 @@ class Adv(QMainWindow, Ui_MainWindow):
|
|||||||
if Path(e).exists() else
|
if Path(e).exists() else
|
||||||
self.l_base.setStyleSheet("background-color: pink;"))
|
self.l_base.setStyleSheet("background-color: pink;"))
|
||||||
|
|
||||||
self.b1, self.b2 = False, False
|
|
||||||
self.b3, self.b4 = False, False
|
|
||||||
|
|
||||||
self.record_size_cnt = 0
|
self.record_size_cnt = 0
|
||||||
self.record_frame_cnt = 0
|
self.record_frame_cnt = 0
|
||||||
self.update_device_buttons()
|
self.update_device_buttons()
|
||||||
@ -201,15 +195,11 @@ class Adv(QMainWindow, Ui_MainWindow):
|
|||||||
base = QFileDialog.getExistingDirectory(self, 'Select Base Folder', DS.__str__())
|
base = QFileDialog.getExistingDirectory(self, 'Select Base Folder', DS.__str__())
|
||||||
self.l_base.setText(Path(base).__str__())
|
self.l_base.setText(Path(base).__str__())
|
||||||
|
|
||||||
# def update_b_play_live_enabled(self):
|
@pyqtSlot()
|
||||||
# self.b_play_live.setEnabled(all([self.b1, self.b2]))
|
def on_b_base_clicked(self):
|
||||||
|
|
||||||
def on_base_open(self):
|
|
||||||
if Path(self.l_base.text()):
|
if Path(self.l_base.text()):
|
||||||
self.p.send(SetBaseMsg(self.l_base.text()))
|
self.p.send(SetBaseMsg(self.l_base.text()))
|
||||||
self.g_cap.setEnabled(True)
|
self.g_cap.setEnabled(True)
|
||||||
# self.b1 = True
|
|
||||||
# self.update_b_play_live_enabled()
|
|
||||||
|
|
||||||
def set_device_connection(self, status: LinkStatus):
|
def set_device_connection(self, status: LinkStatus):
|
||||||
match status:
|
match status:
|
||||||
@ -241,36 +231,19 @@ class Adv(QMainWindow, Ui_MainWindow):
|
|||||||
self.lb_device_enable.setText('Enabled')
|
self.lb_device_enable.setText('Enabled')
|
||||||
self.lb_device_enable.setStyleSheet('background-color: LightGreen;')
|
self.lb_device_enable.setStyleSheet('background-color: LightGreen;')
|
||||||
|
|
||||||
def update_c_playback_seq_name_enable(self):
|
@pyqtSlot(bool)
|
||||||
self.c_playback_seq_name.setEnabled(all([self.b3, self.b4]))
|
def on_g_live_clicked(self, b):
|
||||||
|
|
||||||
def on_play_live(self, b):
|
|
||||||
if b:
|
if b:
|
||||||
self.g_playback.setChecked(False)
|
self.g_playback.setChecked(False)
|
||||||
# self.s_sid.setEnabled(False)
|
|
||||||
# self.b_play_live.setStyleSheet('background-color: red;')
|
|
||||||
# self.b_play_playback.setStyleSheet('')
|
|
||||||
# self.b_record.setEnabled(True)
|
|
||||||
# self.l_record_commit.setEnabled(True)
|
|
||||||
# self.p.send(SetSeqMetaMsg('live', self.c_live_seq_name.itemText(self.c_live_seq_name.currentIndex())))
|
|
||||||
self.p.send(SetPlayMode('live'))
|
self.p.send(SetPlayMode('live'))
|
||||||
self.b3 = False
|
logger.info(f'set playmode live')
|
||||||
self.update_c_playback_seq_name_enable()
|
|
||||||
|
|
||||||
def on_play_playback(self, b):
|
@pyqtSlot(bool)
|
||||||
|
def on_g_playback_clicked(self, b):
|
||||||
if b:
|
if b:
|
||||||
self.g_live.setChecked(False)
|
self.g_live.setChecked(False)
|
||||||
# self.s_sid.setEnabled(True)
|
|
||||||
# self.b_play_live.setStyleSheet('')
|
|
||||||
# self.b_play_playback.setStyleSheet('background-color: red;')
|
|
||||||
# self.b_record.setEnabled(False)
|
|
||||||
# self.l_record_commit.setEnabled(False)
|
|
||||||
self.p.send(
|
|
||||||
SetSeqMetaMsg('playback', self.c_playback_seq_name.itemText(self.c_playback_seq_name.currentIndex())))
|
|
||||||
self.p.send(SetPlayMode('playback'))
|
self.p.send(SetPlayMode('playback'))
|
||||||
logger.debug(f'set playmode playback')
|
logger.info(f'set playmode playback')
|
||||||
self.b3 = True
|
|
||||||
self.update_c_playback_seq_name_enable()
|
|
||||||
|
|
||||||
def on_device_disable(self):
|
def on_device_disable(self):
|
||||||
self.p.send(SetDeviceEnabledMsg(False))
|
self.p.send(SetDeviceEnabledMsg(False))
|
||||||
@ -384,16 +357,12 @@ class Adv(QMainWindow, Ui_MainWindow):
|
|||||||
self.sp_sid.setMaximum(msg.li.__len__() - 1)
|
self.sp_sid.setMaximum(msg.li.__len__() - 1)
|
||||||
self.l_seq_min.setText(str(min(msg.li)))
|
self.l_seq_min.setText(str(min(msg.li)))
|
||||||
self.l_seq_max.setText(str(max(msg.li)))
|
self.l_seq_max.setText(str(max(msg.li)))
|
||||||
elif isinstance(msg, SeqListMsg):
|
elif isinstance(msg, PlaybackSeqListMsg):
|
||||||
self.b4 = True
|
|
||||||
self.update_c_playback_seq_name_enable()
|
|
||||||
self.c_playback_seq_name.clear()
|
self.c_playback_seq_name.clear()
|
||||||
for name in msg.value:
|
for name in msg.value:
|
||||||
self.c_playback_seq_name.addItem(name)
|
self.c_playback_seq_name.addItem(name)
|
||||||
if msg.value.__len__() > 0:
|
if msg.value.__len__() > 0:
|
||||||
self.p.send(SetSeqMetaMsg('playback', self.c_playback_seq_name.itemText(
|
self.p.send(SetSeqMetaMsg('playback', self.c_playback_seq_name.currentText()))
|
||||||
self.c_playback_seq_name.currentIndex())))
|
|
||||||
# self.b_play_playback.setEnabled(True)
|
|
||||||
elif isinstance(msg, SetSeqMetaMsg):
|
elif isinstance(msg, SetSeqMetaMsg):
|
||||||
self.seq_meta = RfSequenceMeta.from_name(msg.name)
|
self.seq_meta = RfSequenceMeta.from_name(msg.name)
|
||||||
mmax_shape0 = max(self.seq_meta.shape)
|
mmax_shape0 = max(self.seq_meta.shape)
|
||||||
@ -469,59 +438,51 @@ class Adv(QMainWindow, Ui_MainWindow):
|
|||||||
# event.accept()
|
# event.accept()
|
||||||
# event.ignore()
|
# event.ignore()
|
||||||
|
|
||||||
@QtCore.pyqtSlot(int)
|
@pyqtSlot(int)
|
||||||
def on_cb_bscan(self, v):
|
def on_cb_bscan(self, v):
|
||||||
if self.cb_bscan.sender() is None:
|
if self.cb_bscan.sender() is None:
|
||||||
self.p.send(SetWindowVisibleMsg('ui', 'bscan', v == 2))
|
self.p.send(SetWindowVisibleMsg('ui', 'bscan', v == 2))
|
||||||
|
|
||||||
@QtCore.pyqtSlot(int)
|
@pyqtSlot(int)
|
||||||
def on_t_start(self, v):
|
def on_t_start(self, v):
|
||||||
if self.s_t_end.sender() is None:
|
if self.s_t_end.sender() is None:
|
||||||
self.arg.t_start = v
|
self.arg.t_start = v
|
||||||
self.p.send(self.arg)
|
self.p.send(self.arg)
|
||||||
|
|
||||||
@QtCore.pyqtSlot(int)
|
@pyqtSlot(int)
|
||||||
def on_t_end(self, v):
|
def on_t_end(self, v):
|
||||||
if self.s_t_end.sender() is None:
|
if self.s_t_end.sender() is None:
|
||||||
self.arg.t_end = v
|
self.arg.t_end = v
|
||||||
self.p.send(self.arg)
|
self.p.send(self.arg)
|
||||||
|
|
||||||
@QtCore.pyqtSlot(int)
|
@pyqtSlot(int)
|
||||||
def on_select_plyayback_seq_name(self, v):
|
def on_select_plyayback_seq_name(self, v):
|
||||||
if self.c_playback_seq_name.sender() is None or isinstance(self.c_playback_seq_name.sender(), QFrame):
|
if self.c_playback_seq_name.sender() is None or isinstance(self.c_playback_seq_name.sender(), QFrame):
|
||||||
self.p.send(SetSeqMetaMsg('playback', self.c_playback_seq_name.itemText(v)))
|
self.p.send(SetSeqMetaMsg('playback', self.c_playback_seq_name.itemText(v)))
|
||||||
|
|
||||||
@QtCore.pyqtSlot(int)
|
@pyqtSlot(int)
|
||||||
def on_s_sid(self, v):
|
def on_s_sid(self, v):
|
||||||
if self.s_sid.sender() is None:
|
if self.s_sid.sender() is None:
|
||||||
self.p.send(SetSidMsg(v))
|
self.p.send(SetSidMsg(v))
|
||||||
|
|
||||||
@QtCore.pyqtSlot(int)
|
@pyqtSlot(int)
|
||||||
def on_sp_sid(self, v):
|
def on_sp_sid(self, v):
|
||||||
if self.sp_sid.sender() is None:
|
if self.sp_sid.sender() is None:
|
||||||
self.p.send(SetSidMsg(v))
|
self.p.send(SetSidMsg(v))
|
||||||
|
|
||||||
# @QtCore.pyqtSlot(int)
|
# @pyqtSlot(int)
|
||||||
def on_seq_meta(self):
|
def on_seq_meta(self):
|
||||||
v = self.c_live_seq_name.currentIndex()
|
v = self.c_live_seq_name.currentIndex()
|
||||||
name = self.c_live_seq_name.currentText()
|
name = self.c_live_seq_name.currentText()
|
||||||
if name != 'Empty':
|
if name != 'Empty':
|
||||||
self.b_live_seq_apply.setEnabled(False)
|
self.b_live_seq_apply.setEnabled(False)
|
||||||
self.p.send(SetDeviceConfigMsg(name, self.c_live_seq_name.itemData(v)))
|
self.p.send(SetDeviceConfigMsg(name, self.c_live_seq_name.itemData(v)))
|
||||||
# self.p.send(SetSeqMetaMsg('live', self.c_live_seq_name.itemText(v)))
|
|
||||||
|
|
||||||
# if self.c_live_seq_name.sender() is None or isinstance(self.c_live_seq_name.sender(), QFrame):
|
|
||||||
# if self.c_live_seq_name.itemText(v) != 'Empty':
|
|
||||||
# self.b2 = True
|
|
||||||
# # self.update_b_play_live_enabled()
|
|
||||||
# self.p.send(SetDeviceConfigMsg(self.c_live_seq_name.itemData(v)))
|
|
||||||
# self.p.send(SetSeqMetaMsg('live', self.c_live_seq_name.itemText(v)))
|
|
||||||
|
|
||||||
|
|
||||||
class MainUI(Node):
|
class MainUI(Node):
|
||||||
topics = [ImageArgMsg, SeqIdMinMax, MoveAxisMsg,
|
topics = [ImageArgMsg, SeqIdMinMax, MoveAxisMsg,
|
||||||
ImagingConfigNameListMsg,
|
ImagingConfigNameListMsg,
|
||||||
SeqListMsg, SetSeqMetaMsg, SeqIdList, SetWindowVisibleMsg, SetSidMsg,
|
PlaybackSeqListMsg, SetSeqMetaMsg, SeqIdList, SetWindowVisibleMsg, SetSidMsg,
|
||||||
DeviceConnectedMsg, DeviceEnabledMsg, DeviceOnlineMsg, DeviceConfigListMsg,
|
DeviceConnectedMsg, DeviceEnabledMsg, DeviceOnlineMsg, DeviceConfigListMsg,
|
||||||
RobotRtsiMsg, DeviceSwitchMsg,
|
RobotRtsiMsg, DeviceSwitchMsg,
|
||||||
RecordFrameMsg, SeqMetaMsg]
|
RecordFrameMsg, SeqMetaMsg]
|
||||||
|
|||||||
@ -270,7 +270,6 @@ class Ui_MainWindow(object):
|
|||||||
self.label_16.setObjectName("label_16")
|
self.label_16.setObjectName("label_16")
|
||||||
self.gridLayout_6.addWidget(self.label_16, 0, 0, 1, 1)
|
self.gridLayout_6.addWidget(self.label_16, 0, 0, 1, 1)
|
||||||
self.c_playback_seq_name = QtWidgets.QComboBox(parent=self.g_playback)
|
self.c_playback_seq_name = QtWidgets.QComboBox(parent=self.g_playback)
|
||||||
self.c_playback_seq_name.setEnabled(False)
|
|
||||||
self.c_playback_seq_name.setEditable(False)
|
self.c_playback_seq_name.setEditable(False)
|
||||||
self.c_playback_seq_name.setObjectName("c_playback_seq_name")
|
self.c_playback_seq_name.setObjectName("c_playback_seq_name")
|
||||||
self.c_playback_seq_name.addItem("")
|
self.c_playback_seq_name.addItem("")
|
||||||
|
|||||||
@ -21,7 +21,7 @@ class BG(Enum):
|
|||||||
SeqMetaMsg = auto()
|
SeqMetaMsg = auto()
|
||||||
SeqIdMinMax = auto()
|
SeqIdMinMax = auto()
|
||||||
SetBaseMsg = auto()
|
SetBaseMsg = auto()
|
||||||
SeqListMsg = auto()
|
PlaybackSeqListMsg = auto()
|
||||||
SetPlayMode = auto()
|
SetPlayMode = auto()
|
||||||
SetDeviceEnabledMsg = auto()
|
SetDeviceEnabledMsg = auto()
|
||||||
SetDeviceConnectedMsg = auto()
|
SetDeviceConnectedMsg = auto()
|
||||||
@ -160,7 +160,7 @@ class SetBaseMsg(StrMsg):
|
|||||||
|
|
||||||
|
|
||||||
@dataclasses.dataclass
|
@dataclasses.dataclass
|
||||||
class SeqListMsg(Msg):
|
class PlaybackSeqListMsg(Msg):
|
||||||
value: list[str]
|
value: list[str]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
45
test/test.ui
Normal file
45
test/test.ui
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>MainWindow</class>
|
||||||
|
<widget class="QMainWindow" name="MainWindow">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>800</width>
|
||||||
|
<height>600</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>MainWindow</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="centralwidget">
|
||||||
|
<widget class="QPushButton" name="b_test">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>330</x>
|
||||||
|
<y>230</y>
|
||||||
|
<width>301</width>
|
||||||
|
<height>251</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>PushButton</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<widget class="QMenuBar" name="menubar">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>800</width>
|
||||||
|
<height>30</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QStatusBar" name="statusbar"/>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
||||||
36
test/test2.py
Normal file
36
test/test2.py
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# Form implementation generated from reading ui file 'test.ui'
|
||||||
|
#
|
||||||
|
# Created by: PyQt6 UI code generator 6.8.0
|
||||||
|
#
|
||||||
|
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
|
||||||
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
|
||||||
|
|
||||||
|
from PyQt6 import QtCore, QtGui, QtWidgets
|
||||||
|
|
||||||
|
|
||||||
|
class Ui_MainWindow(object):
|
||||||
|
def setupUi(self, MainWindow):
|
||||||
|
MainWindow.setObjectName("MainWindow")
|
||||||
|
MainWindow.resize(800, 600)
|
||||||
|
self.centralwidget = QtWidgets.QWidget(parent=MainWindow)
|
||||||
|
self.centralwidget.setObjectName("centralwidget")
|
||||||
|
self.b_test = QtWidgets.QPushButton(parent=self.centralwidget)
|
||||||
|
self.b_test.setGeometry(QtCore.QRect(330, 230, 301, 251))
|
||||||
|
self.b_test.setObjectName("b_test")
|
||||||
|
MainWindow.setCentralWidget(self.centralwidget)
|
||||||
|
self.menubar = QtWidgets.QMenuBar(parent=MainWindow)
|
||||||
|
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 30))
|
||||||
|
self.menubar.setObjectName("menubar")
|
||||||
|
MainWindow.setMenuBar(self.menubar)
|
||||||
|
self.statusbar = QtWidgets.QStatusBar(parent=MainWindow)
|
||||||
|
self.statusbar.setObjectName("statusbar")
|
||||||
|
MainWindow.setStatusBar(self.statusbar)
|
||||||
|
|
||||||
|
self.retranslateUi(MainWindow)
|
||||||
|
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
||||||
|
|
||||||
|
def retranslateUi(self, MainWindow):
|
||||||
|
_translate = QtCore.QCoreApplication.translate
|
||||||
|
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
|
||||||
|
self.b_test.setText(_translate("MainWindow", "PushButton"))
|
||||||
24
test/test2ui.py
Normal file
24
test/test2ui.py
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import sys
|
||||||
|
|
||||||
|
from PyQt6.QtCore import pyqtSlot
|
||||||
|
from PyQt6.QtWidgets import QApplication, QMainWindow
|
||||||
|
|
||||||
|
from test2 import Ui_MainWindow
|
||||||
|
|
||||||
|
|
||||||
|
class Adv(QMainWindow, Ui_MainWindow):
|
||||||
|
def __init__(self, parent=None):
|
||||||
|
super(Adv, self).__init__(parent)
|
||||||
|
self.setupUi(self)
|
||||||
|
|
||||||
|
@pyqtSlot(bool)
|
||||||
|
def on_b_test_clicked(self,a):
|
||||||
|
print('on_b_test',a)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
app = QApplication(sys.argv)
|
||||||
|
app.setDesktopFileName('TestTest')
|
||||||
|
MainWindow = Adv()
|
||||||
|
MainWindow.show()
|
||||||
|
app.exec()
|
||||||
Loading…
Reference in New Issue
Block a user