あなたはオブジェクト指向プログラミングに慣れていないようです。 オブジェクト指向プログラミングでは、Class
にmember
とmethod
があります。
member
をこのように定義して、後で処理できるようにする必要があります。だから、member
がオブジェクト指向プログラミングにあるものについて学ぶべきです。
class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.filename = ""
self.someParameter = None
--snip--
self.ui.pushButton.clicked.connect(self.selectFile)
def setParameter(self):
self.someParameter = someFunction(self.filename)
def selectFile(self):
self.filename = QtGui.QFileDialog.getOpenFileName()
self.ui.lineEdit.setText(self.filename)
self.setParameter()
--snip--
編集
ここQFileDialog.getOpenFileName
を使用するいくつかのサンプルコードです。これを試して。
from PyQt5.QtWidgets import QWidget, QPushButton, QFileDialog, QVBoxLayout, QApplication
from PyQt5 import QtGui
class my_ui(QWidget):
def __init__(self, parent=None):
super(my_ui, self).__init__()
self.filename = ""
self.button1 = QPushButton("show dialog", parent)
self.button2 = QPushButton("do something", parent)
self.button1.clicked.connect(self.show_dialog)
self.button2.clicked.connect(self.do_something)
self.layout = QVBoxLayout()
self.layout.addWidget(self.button1)
self.layout.addWidget(self.button2)
self.setLayout(self.layout)
def show_dialog(self):
self.filename = QFileDialog.getOpenFileName()
print("filename updated: '%s'"%str(self.filename))
def do_something(self):
print("filename = '%s'"%str(self.filename))
app = QApplication([])
sample_ui = my_ui()
sample_ui.show()
app.exec_()
値が更新されていることを確認するにはどうすればよいですか? (値をチェックするためにprintを使うのと同じように) – gnome
@gnome:どのような変数をチェックしたいのですか? –
FileDialogで選択されたファイル名を使用し、後で別のモジュールを使用して開きたい(内部のデータを読み込んで数学的な処理を行う) – gnome