import sys
import time
from PyQt5 import uic
from PyQt5.QtCore import pyqtSignal, Qt
from PyQt5.QtWidgets import *
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.ui = uic.loadUi("ui/demo.ui")
# ui文件中最顶层的对象
# print(self.ui)
# ui文件最顶层对象的所有属性
# print(self.ui.__dict__)
# ui文件中最顶层嵌套的QPushButton对象
# print(self.ui.pushButton)
# ui文件中最顶层嵌套的QPushButton对象界面显示的名字
# print(self.ui.pushButton.text())
# 创建按钮
self.btn1 = self.ui.pushButton
# 创建输入框
self.txt = self.ui.lineEdit
# 创建显示框
self.show = self.ui.textBrowser
# 给按钮绑定槽函数(槽参数不能带括号)
self.btn1.clicked.connect(self.btn1_fun)
def btn1_fun(self):
# 按钮功能
print(self.txt.text())
self.show.setText("输入为%s"%self.txt.text())
self.show.repaint()
if __name__ == '__main__':
app = QApplication(sys.argv)
w = MyWindow()
w.ui.show()
app.exec()
import os
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QFileDialog
from subprocess import call
class MyWindow(QMainWindow):
img_dir_path = '' # 存储图片目录路径
out_dir_path = '' # 存储输出目录路径
def __init__(self):
super().__init__()
self.initUi()
def initUi(self):
# 设置窗口大小和位置
self.setGeometry(100, 100, 400, 300)
# 创建打开目录按钮,并添加到窗口中
self.open_dir_btn1 = QPushButton('选择图片目录', self)
self.open_dir_btn1.adjustSize()
self.open_dir_btn1.move(50, 50) # 设置按钮位置
self.open_dir_btn1.clicked.connect(self.open_dir1)
# 创建输出目录按钮,并添加到窗口中
self.open_dir_btn2 = QPushButton('选择输出路径', self)
self.open_dir_btn2.adjustSize()
self.open_dir_btn2.move(50, 100) # 设置按钮位置
self.open_dir_btn2.clicked.connect(self.open_dir2)
# 创建运行按钮,并添加到窗口中
self.run_btn = QPushButton('运行操作', self)
self.run_btn.adjustSize()
self.run_btn.move(50, 150) # 设置按钮位置
self.run_btn.clicked.connect(self.run_operation)
def open_dir1(self):
# 打开文件对话框获取目录路径
dir_path = QFileDialog.getExistingDirectory(self, '选择图片目录')
if dir_path:
# 存储获取到的目录路径
self.img_dir_path = dir_path
def open_dir2(self):
# 打开文件对话框获取目录路径
dir_path = QFileDialog.getExistingDirectory(self, '选择输出路径')
if dir_path:
# 存储获取到的目录路径
self.out_dir_path = dir_path
def run_operation(self):
# 获取当前 Python 脚本所在的绝对路径
curr_path = os.path.abspath(os.path.dirname(__file__))
# 拼接 Flaxseed_Statistics.py 文件的路径
flaxseed_path = os.path.join(curr_path, "Flaxseed_Statistics.py")
# 检查 Flaxseed_Statistics.py 文件是否存在
if not os.path.exists(flaxseed_path):
QtWidgets.QMessageBox.warning(self, "警告", "Flaxseed_Statistics.py 文件不存在")
return
# 调用 Flaxseed_Statistics.py
try:
call(['python', flaxseed_path, self.img_dir_path, self.out_dir_path])
except:
QtWidgets.QMessageBox.warning(self, "警告", "调用 Flaxseed_Statistics.py 失败")
# TODO: 根据需要添加一些其他操作
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())