【发布时间】:2019-10-29 21:15:45
【问题描述】:
我正在使用基于 QWidget 的 PyQt 开发应用程序。我有 2 个 QWidget 类。当我从 ToolWindow 类中按下“选择”按钮时,我运行脚本并获取 path_to_photo,我也切换到其他 QWidget 类。我想为 QPixmap 设置一个新路径,但我只有在返回主窗口并返回此窗口时才能得到它。
class UIWindow(QWidget):
def __init__(self, parent=None):
super(UIWindow, self).__init__(parent)
self.vbox = QVBoxLayout(self)
global path_to_photo
self.ToolsBTN = QPushButton('text', self)
self.label = QLabel(self)
self.pixmap = QPixmap(path_to_photo)
self.label.setPixmap(self.pixmap)
self.resize(self.pixmap.width(),self.pixmap.height())
self.vbox.addWidget(self.ToolsBTN)
self.vbox.addWidget(self.label)
self.vbox.addStretch(5)
self.setLayout(self.vbox)
这是我的 UIWindow,上面有我想展示的照片
class UIToolTab(QWidget):
def __init__(self, parent=None):
super(UIToolTab, self).__init__(parent)
self.vbox = QVBoxLayout(self)
self.CPSBTN = QPushButton("Choose", self)
self.vbox.addWidget(self.CPSBTN)
self.vbox.addStretch(5)
self.setLayout(self.vbox)
这是我的带有“选择”按钮的 UIToolTab
class MainWindow(QMainWindow):
...
def startUIToolTab(self):
self.ToolTab = UIToolTab(self)
self.Window = UIWindow(self)
self.setWindowTitle("UIToolTab")
self.setCentralWidget(self.ToolTab)
self.ToolTab.CPSBTN.clicked.connect(self.startUIWindow)
self.show()
def startUIWindow(self):
global path_to_photo
self.Window = UIWindow(self)
file = str(QFileDialog.getExistingDirectory(self, "Select Directory"))
print(file)
path = Path(file)
glob_path = path.glob('*')
path_to_photo = brisquequality.answer(glob_path)
self.setWindowTitle("UIWindow")
self.setCentralWidget(self.Window)
self.Window.ToolsBTN.clicked.connect(self.startUIToolTab)
self.show()
开关功能
当我重写 path_to_photo 时如何更新 QPixmap?
【问题讨论】:
-
什么是
Path (file)? -
照片的绝对路径