started preview and added pyproject toml
This commit is contained in:
0
fixtracks/dialogs/__init__.py
Normal file
0
fixtracks/dialogs/__init__.py
Normal file
83
fixtracks/dialogs/previewdialog.py
Normal file
83
fixtracks/dialogs/previewdialog.py
Normal file
@@ -0,0 +1,83 @@
|
||||
import logging
|
||||
import pickle
|
||||
import pandas as pd
|
||||
from PySide6.QtWidgets import QDialog, QVBoxLayout, QHBoxLayout, QPushButton, QFileDialog, QProgressBar
|
||||
from PySide6.QtCore import QThreadPool
|
||||
|
||||
from fixtracks.widgets.mergepreview import MergePreview
|
||||
from fixtracks.utils.reader import PickleLoader
|
||||
|
||||
|
||||
class PreviewDialog(QDialog):
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
self._threadpool = QThreadPool(self)
|
||||
self._df = None
|
||||
self._reader = None
|
||||
|
||||
self.setWindowTitle("Merge Preview")
|
||||
self._progress_bar = QProgressBar(self)
|
||||
# self._progress_bar.setRange(0, 0) # Set the progress bar to be indeterminate
|
||||
self._progress_bar.setValue(0)
|
||||
|
||||
self.merge_preview = MergePreview(parent=self)
|
||||
self._opendataBtn = QPushButton("open data")
|
||||
self._opendataBtn.clicked.connect(self.on_openData)
|
||||
|
||||
self._openleftBtn = QPushButton("open left video")
|
||||
self._openleftBtn.clicked.connect(self.on_openleftVideo)
|
||||
|
||||
self._openrightBtn = QPushButton("open right video")
|
||||
self._openrightBtn.clicked.connect(self.on_openrightVideo)
|
||||
|
||||
btn_box = QHBoxLayout()
|
||||
btn_box.addWidget(self._opendataBtn)
|
||||
btn_box.addWidget(self._openleftBtn)
|
||||
btn_box.addWidget(self._openrightBtn)
|
||||
|
||||
layout = QVBoxLayout()
|
||||
layout.addLayout(btn_box)
|
||||
layout.addWidget(self.merge_preview)
|
||||
layout.addWidget(self._progress_bar)
|
||||
|
||||
self.setLayout(layout)
|
||||
|
||||
def on_openData(self):
|
||||
file_dialog = QFileDialog(self, "Select pickled DataFrame", "", "Pandas DataFrame (*.pkl)")
|
||||
infile = None
|
||||
|
||||
if file_dialog.exec():
|
||||
infile = file_dialog.selectedFiles()[0]
|
||||
if infile is not None:
|
||||
self._progress_bar.setRange(0,0)
|
||||
self._reader = PickleLoader(infile)
|
||||
self._reader.signals.finished.connect(self._on_dataOpenend)
|
||||
self._threadpool.start(self._reader)
|
||||
|
||||
def _on_dataOpenend(self, state):
|
||||
self._progress_bar.setRange(0, 100)
|
||||
self._progress_bar.setValue(0)
|
||||
if state and self._reader is not None:
|
||||
self._df = self._reader.data
|
||||
self.merge_preview.set_dataframe(self._df)
|
||||
self._reader = None
|
||||
|
||||
def on_openleftVideo(self):
|
||||
pass
|
||||
|
||||
def on_openrightVideo(self):
|
||||
pass
|
||||
|
||||
|
||||
def main():
|
||||
from PySide6.QtWidgets import QApplication
|
||||
import sys
|
||||
app = QApplication(sys.argv)
|
||||
dialog = PreviewDialog()
|
||||
dialog.show()
|
||||
sys.exit(app.exec())
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
logging.basicConfig(level=logging.INFO, force=True)
|
||||
main()
|
||||
Reference in New Issue
Block a user