加入左侧原始节点图浏览组件
This commit is contained in:
parent
f8f7ad1e8e
commit
81d6711fac
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,64 @@
|
|||
import sys
|
||||
import time
|
||||
from PySide6.QtWidgets import QApplication, QMainWindow, QProgressBar, QVBoxLayout, QWidget, QPushButton
|
||||
from PySide6.QtCore import QThread, Signal
|
||||
|
||||
|
||||
class WorkerThread(QThread):
|
||||
progress_updated = Signal(int) # 进度更新信号
|
||||
finished = Signal() # 完成信号
|
||||
|
||||
def run(self):
|
||||
# 模拟耗时操作
|
||||
for i in range(1, 101):
|
||||
time.sleep(0.05) # 模拟耗时操作
|
||||
self.progress_updated.emit(i) # 发射进度信号
|
||||
self.finished.emit()
|
||||
|
||||
|
||||
class MainWindow(QMainWindow):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
self.setWindowTitle("独立进度条示例")
|
||||
self.setGeometry(100, 100, 400, 200)
|
||||
|
||||
# 创建进度条
|
||||
self.progress_bar = QProgressBar()
|
||||
self.progress_bar.setRange(0, 100)
|
||||
|
||||
# 创建开始按钮
|
||||
self.start_button = QPushButton("开始加载")
|
||||
self.start_button.clicked.connect(self.start_loading)
|
||||
|
||||
# 设置布局
|
||||
layout = QVBoxLayout()
|
||||
layout.addWidget(self.progress_bar)
|
||||
layout.addWidget(self.start_button)
|
||||
|
||||
container = QWidget()
|
||||
container.setLayout(layout)
|
||||
self.setCentralWidget(container)
|
||||
|
||||
# 初始化工作线程
|
||||
self.worker_thread = WorkerThread()
|
||||
self.worker_thread.progress_updated.connect(self.update_progress)
|
||||
self.worker_thread.finished.connect(self.loading_finished)
|
||||
|
||||
def start_loading(self):
|
||||
self.start_button.setEnabled(False)
|
||||
self.worker_thread.start()
|
||||
|
||||
def update_progress(self, value):
|
||||
self.progress_bar.setValue(value)
|
||||
|
||||
def loading_finished(self):
|
||||
self.start_button.setEnabled(True)
|
||||
# 这里可以添加加载完成后的操作
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = QApplication(sys.argv)
|
||||
window = MainWindow()
|
||||
window.show()
|
||||
sys.exit(app.exec())
|
Loading…
Reference in New Issue