python qt5父窗體和子窗體互傳資料方法

2021-09-27 02:58:58 字數 1251 閱讀 9926

父窗體

class parentwin():

def open_set_window(self):

set_win = childwin(self)

#連線【子視窗自定義訊息和主視窗槽函式】,子窗體向父窗體傳引數,定義子元件方法

set_win.dialogsignel.connect(self.change_param)

#連線【子視窗內建訊息和主視窗的槽函式】,預設元件方法

#dialog.datetime.datechanged.connect(self.slot_inner)

#父視窗向子視窗傳遞訊息,直接呼叫子窗體元件或屬性賦值

set_win.image_path_input.settext(self.imagedirpath)

#定義觸發方法體

def change_param(self,imagedirpath,tesseractpath):

self.imagedirpath = imagedirpath

子窗體

class childwin(ui_set_window, qdialog):

#自定義訊息,插槽

dialogsignel=pyqtsignal(str,str)

def __init__(self,parent=none):

#print(imagedirpath)

super().__init__(parent)

self.setupui(self)

self.setwindowmodality(qt.windowmodal)

self.setfixedsize(self.width(), self.height())

self.setwindowtitle('設定引數')

self.confirm_button.setdisabled(true)

self.cancel_button.clicked.connect(self.close)

self.confirm_button.clicked.connect(self.add_invoice)

self.show()

def add_invoice(self):

main = self.parent()

#觸發子元件方法

self.dialogsignel.emit(imagepath,tesseractpath)

self.close()

C 子窗體重新整理父窗體

子窗體 from2 重新整理父窗體 from1 父窗體中有重新整理方法 refersh 1.所有權法 from1中 form2 f2 new form2 f2.owner this f2.show form2中 form1 f1 form1 this.owner f1.refersh 2.自身傳遞法...

窗體間傳值 ,子窗體傳給父窗體

第一種方法 將form1整個窗體作為值傳給form2 form1 button1彈出 from2,from2 numericupdown1的值改變,使form1 textbox1的值改變。form1 第一種方法 將整個窗體作為值傳給form2 private void button1 click o...

C WinForm 父窗體 子窗體 傳值

本次示例效果如下 form1為父窗體 包含textbox1 button1 form2為子窗體 包含textbox2 button2 父窗體給子窗體傳值 1.點選form1的button1 開啟form2 父窗體給子窗體傳值 可以呼叫過載子窗體的建構函式 直接傳入相關數值 public partia...