仅以子界面为主界面时,该按钮可以实现对应功能,但在主窗口中打开子界面时,子界面上按钮无响应
以下是界面
以下为子界面代码,按钮是but_drdysj,对应功能是opendyFile打开点云数据
from PySide2.QtWidgets import QApplication, QMessageBox, QMdiSubWindow, QFileDialog, QDialog, QAction,QTreeWidgetItem
from PySide2.QtUiTools import QUiLoader
from PySide2.QtCore import Qt,Slot,QObject
import requests
import open3d as o3d
import numpy as np
from lib.share import SI,MySignals
#实例化
gms = MySignals()
class Win_Model(QObject):
def __init__(self):
super().__init__()
self.ui = QUiLoader().load('model.ui')
self.ui.but_drdysj.clicked.connect(self.opendyFile)
@Slot()
def opendyFile(self):
dialog = QFileDialog()
dialog.setFileMode(QFileDialog.AnyFile)
dialog.setViewMode(QFileDialog.Detail)
if dialog.exec_():
filenames = dialog.selectedFiles()
print('打开' + filenames[0])
pcd = o3d.io.read_point_cloud(filenames[0], format='xyz')
print(pcd)
print(np.asarray(pcd.points))
o3d.visualization.draw_geometries([pcd])
槽函数试着改成匿名函数试试。