如何将值从 Dialog 返回到 Main?

查理·姆茨 P

我有两个文件,我想将一个数组从 Bitacora 的 Dialog 返回到 Main。在 Main 代码的某些部分调用 Bitacora。Bitacora 有一个文本编辑。我需要返回这些值。

我希望你们能帮助我。

文件:Main.py

from PyQt5 import QtCore, QtWidgets, QtGui
from PyQt5.QtCore import Qt
from dbFuncs import *
from demoUI import *
from PandasModel import *
from dataLogger import *
from bitacorasend import Ui_Dialog


class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()

        #QtWidgets.QMainWindow.__init__(self, *args, **kwargs)
        self.setupUi(self)
        '''Variables for DB'''

        '''Table Config'''    
        self.dataTable.setColumnCount(1)    
        self.dataTable.setRowCount(5)
        self.dataTable.setHorizontalHeaderLabels(["Medición"])
        self.dataTable.horizontalHeaderItem(0).setTextAlignment(Qt.AlignHCenter)
        self.dataTable.horizontalHeader().setStretchLastSection(True)
        self.dataTable.verticalHeader().setStretchLastSection(True)
        '''Buttons signals'''
        self.saveButton.clicked.connect(self.savePressed)


    def bitacora(self):
        Dialog = QtWidgets.QDialog()
        ui = Ui_Dialog()
        ui.setupUi(Dialog,["data","data","data","data"])
        Dialog.exec_()

    def savePressed(self):
        self.bitacora()

if __name__ == "__main__":
    app = QtWidgets.QApplication([])
    window = MainWindow()
    window.show()
    app.exec_()

文件:Bitacora.py

from PyQt5 import QtCore, QtGui, QtWidgets
    #import time
    class Ui_Dialog(object):
        def setupUi(self, Dialog, datos):
            self.data = datos
            self.Dialog = Dialog
            Dialog.setObjectName("Dialog")
            Dialog.resize(617, 405)
            self.verticalLayout = QtWidgets.QVBoxLayout(Dialog)
            self.verticalLayout.setObjectName("verticalLayout")
            self.label = QtWidgets.QLabel(Dialog)
            font = QtGui.QFont()
            font.setPointSize(10)
            self.label.setFont(font)
            self.label.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignHCenter)
            self.label.setObjectName("label")
            self.verticalLayout.addWidget(self.label)
            self.label_2 = QtWidgets.QLabel(Dialog)
            font = QtGui.QFont()
            font.setPointSize(16)
            font.setBold(True)
            font.setWeight(75)
            self.label_2.setFont(font)
            self.label_2.setAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignTop)
            self.label_2.setObjectName("label_2")
            self.verticalLayout.addWidget(self.label_2)
            self.label_5 = QtWidgets.QLabel(Dialog)
            self.label_5.setAlignment(QtCore.Qt.AlignCenter)
            self.label_5.setObjectName("label_5")
            self.verticalLayout.addWidget(self.label_5)
            self.label_3 = QtWidgets.QLabel(Dialog)
            font = QtGui.QFont()
            font.setPointSize(12)
            font.setBold(True)
            font.setWeight(75)
            self.label_3.setFont(font)
            self.label_3.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft)
            self.label_3.setObjectName("label_3")
            self.verticalLayout.addWidget(self.label_3)
            self.textEdit = QtWidgets.QTextEdit(Dialog)
            self.textEdit.setMaximumSize(QtCore.QSize(16777215, 100))
            self.textEdit.setObjectName("textEdit")
            self.verticalLayout.addWidget(self.textEdit)
            self.label_4 = QtWidgets.QLabel(Dialog)
            font = QtGui.QFont()
            font.setPointSize(12)
            font.setBold(True)
            font.setWeight(75)
            self.label_4.setFont(font)
            self.label_4.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft)
            self.label_4.setObjectName("label_4")
            self.verticalLayout.addWidget(self.label_4)
            self.textEdit_2 = QtWidgets.QTextEdit(Dialog)
            self.textEdit_2.setObjectName("textEdit_2")
            self.verticalLayout.addWidget(self.textEdit_2)
            self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
            self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
            self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
            self.buttonBox.setObjectName("buttonBox")
            self.verticalLayout.addWidget(self.buttonBox)

            self.retranslateUi(Dialog)
            self.buttonBox.accepted.connect(self.save)
            self.buttonBox.rejected.connect(Dialog.reject)
            QtCore.QMetaObject.connectSlotsByName(Dialog)


        def save(self):
            print("Return here")
            self.Dialog.close()

        def retranslateUi(self, Dialog):
            _translate = QtCore.QCoreApplication.translate
            Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
            self.label.setText(_translate("Dialog", "Punto Fuera de Control"))
            self.label_2.setText(_translate("Dialog", "Bitacora de Proceso"))
            self.label_5.setText(_translate("Dialog", "Cualquier cambio en  mano de obra, materiales, medio ambiente, métodos o máquinas debe ser anotado"))
            self.label_3.setText(_translate("Dialog", "Causa:"))
            self.textEdit.setText(_translate("Dialog", ""))
            self.label_4.setText(_translate("Dialog", "Correcciones:"))
            self.textEdit_2.setHtml(_translate("Dialog", ""))


    if __name__ == "__main__":
        import sys
        app = QtWidgets.QApplication(sys.argv)
        Dialog = QtWidgets.QDialog()
        ui = Ui_Dialog()
        ui.setupUi(Dialog)
    Dialog.show()
    sys.exit(app.exec_())
S·尼克

尝试一下:

from PyQt5 import QtCore, QtWidgets, QtGui
from PyQt5.QtCore import Qt
#from dbFuncs import *
#from demoUI import *
#from PandasModel import *
#from dataLogger import *
#import time

#from bitacorasend import Ui_Dialog
class Ui_Dialog(object):
    def setupUi(self, Dialog, datos):
        self.data = datos
        self.Dialog = Dialog
        Dialog.setObjectName("Dialog")
        Dialog.resize(617, 405)
        self.verticalLayout = QtWidgets.QVBoxLayout(Dialog)
        self.verticalLayout.setObjectName("verticalLayout")
        self.label = QtWidgets.QLabel(Dialog)
        font = QtGui.QFont()
        font.setPointSize(10)
        self.label.setFont(font)
        self.label.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignHCenter)
        self.label.setObjectName("label")
        self.verticalLayout.addWidget(self.label)
        self.label_2 = QtWidgets.QLabel(Dialog)
        font = QtGui.QFont()
        font.setPointSize(16)
        font.setBold(True)
        font.setWeight(75)
        self.label_2.setFont(font)
        self.label_2.setAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignTop)
        self.label_2.setObjectName("label_2")
        self.verticalLayout.addWidget(self.label_2)
        self.label_5 = QtWidgets.QLabel(Dialog)
        self.label_5.setAlignment(QtCore.Qt.AlignCenter)
        self.label_5.setObjectName("label_5")
        self.verticalLayout.addWidget(self.label_5)
        self.label_3 = QtWidgets.QLabel(Dialog)
        font = QtGui.QFont()
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.label_3.setFont(font)
        self.label_3.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft)
        self.label_3.setObjectName("label_3")
        self.verticalLayout.addWidget(self.label_3)
        self.textEdit = QtWidgets.QTextEdit(Dialog)
        self.textEdit.setMaximumSize(QtCore.QSize(16777215, 100))
        self.textEdit.setObjectName("textEdit")
        self.verticalLayout.addWidget(self.textEdit)
        self.label_4 = QtWidgets.QLabel(Dialog)
        font = QtGui.QFont()
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.label_4.setFont(font)
        self.label_4.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft)
        self.label_4.setObjectName("label_4")
        self.verticalLayout.addWidget(self.label_4)
        self.textEdit_2 = QtWidgets.QTextEdit(Dialog)
        self.textEdit_2.setObjectName("textEdit_2")
        self.verticalLayout.addWidget(self.textEdit_2)
        self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName("buttonBox")
        self.verticalLayout.addWidget(self.buttonBox)

        self.retranslateUi(Dialog)
        self.buttonBox.accepted.connect(self.save)
        self.buttonBox.rejected.connect(Dialog.reject)
        QtCore.QMetaObject.connectSlotsByName(Dialog)


    def save(self):
        print("Return here")
        self.Dialog.close()

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
        self.label.setText(_translate("Dialog", "Punto Fuera de Control"))
        self.label_2.setText(_translate("Dialog", "Bitacora de Proceso"))
        self.label_5.setText(_translate("Dialog", "Cualquier cambio en  mano de obra, materiales, medio ambiente, métodos o máquinas debe ser anotado"))
        self.label_3.setText(_translate("Dialog", "Causa:"))
        self.textEdit.setText(_translate("Dialog", ""))
        self.label_4.setText(_translate("Dialog", "Correcciones:"))
        self.textEdit_2.setHtml(_translate("Dialog", ""))


class MainWindow(QtWidgets.QMainWindow):     #, Ui_MainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()

        #QtWidgets.QMainWindow.__init__(self, *args, **kwargs)
#        self.setupUi(self)
        '''Variables for DB'''

        centralWidget = QtWidgets.QWidget(self)
        self.setCentralWidget(centralWidget)
        self.dataTable = QtWidgets.QTableWidget(self) 
        self.saveButton = QtWidgets.QPushButton("saveButton", self)
        layout = QtWidgets.QGridLayout(centralWidget)
        layout.addWidget(self.dataTable)
        layout.addWidget(self.saveButton)


        '''Table Config'''
        self.dataTable.setColumnCount(1)    
        self.dataTable.setRowCount(5)
        self.dataTable.setHorizontalHeaderLabels(["Medición"])
        self.dataTable.horizontalHeaderItem(0).setTextAlignment(Qt.AlignHCenter)
        self.dataTable.horizontalHeader().setStretchLastSection(True)
        self.dataTable.verticalHeader().setStretchLastSection(True)
        '''Buttons signals'''
        self.saveButton.clicked.connect(self.savePressed)

    def bitacora(self):
        Dialog = QtWidgets.QDialog()
        ui = Ui_Dialog()
        ui.setupUi(Dialog,["data","data","data","data"])
        Dialog.exec_()

        print(ui.textEdit.toPlainText())                                  # <---
        print(ui.textEdit_2.toPlainText())                                # <---

    def savePressed(self):
        self.bitacora()


if __name__ == "__main__":
    app = QtWidgets.QApplication([])
    window = MainWindow()
    window.show()
    app.exec_()

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C:如何将多个值从函数返回到main

来自分类Dev

如何将字符串从函数返回到 main()?

来自分类Dev

如何将值返回到数组

来自分类Dev

使用查找模式将int []返回到main也很麻烦

来自分类Dev

将整个 unsigned char 数组返回到 main

来自分类Dev

C-如何将指针值返回给main?

来自分类Dev

如何将2维值返回给main方法?

来自分类Dev

如何将SeekBar值返回到先前的活动?

来自分类Dev

如何将值从存储过程返回到EF

来自分类Dev

如何将值从递归函数返回到数组

来自分类Dev

如何将值从SOAP函数返回到流星方法?

来自分类Dev

如何将列中的值从 StarBasic 返回到 Calc

来自分类Dev

将函数的静态数组返回到main()函数中的另一个数组

来自分类Dev

将多个 Intent 从第二个 Activity 返回到 Main Aactivity

来自分类Dev

如何将SQL返回数组更改为值并返回到前端?

来自分类Dev

如何将int数组返回给main方法

来自分类Dev

如何将数组从函数“返回”到c中的main

来自分类Dev

将序列的值返回到先前的值

来自分类Dev

如何将闭包中的值返回到方法中

来自分类Dev

如何将方法的值从不同的类返回到输出标签

来自分类Dev

如何将值从JavaScript中的函数返回到HTML中的文本框

来自分类Dev

如何将值从JavaScript中的函数返回到HTML中的文本框

来自分类Dev

调用start()之后,为什么线程的构造函数返回到main(),而没有将控件转发到run()方法?

来自分类Dev

如何将JSON结果返回到Ajax.BeginForm

来自分类Dev

ajax调用如何将数据返回到变量?

来自分类Dev

如何将数据从片段返回到活动?

来自分类Dev

如何将类从C ++代码返回到C#

来自分类Dev

如何将错误消息从SQL Server返回到网页

来自分类Dev

如何将数组返回到Excel VBA范围

Related 相关文章

  1. 1

    C:如何将多个值从函数返回到main

  2. 2

    如何将字符串从函数返回到 main()?

  3. 3

    如何将值返回到数组

  4. 4

    使用查找模式将int []返回到main也很麻烦

  5. 5

    将整个 unsigned char 数组返回到 main

  6. 6

    C-如何将指针值返回给main?

  7. 7

    如何将2维值返回给main方法?

  8. 8

    如何将SeekBar值返回到先前的活动?

  9. 9

    如何将值从存储过程返回到EF

  10. 10

    如何将值从递归函数返回到数组

  11. 11

    如何将值从SOAP函数返回到流星方法?

  12. 12

    如何将列中的值从 StarBasic 返回到 Calc

  13. 13

    将函数的静态数组返回到main()函数中的另一个数组

  14. 14

    将多个 Intent 从第二个 Activity 返回到 Main Aactivity

  15. 15

    如何将SQL返回数组更改为值并返回到前端?

  16. 16

    如何将int数组返回给main方法

  17. 17

    如何将数组从函数“返回”到c中的main

  18. 18

    将序列的值返回到先前的值

  19. 19

    如何将闭包中的值返回到方法中

  20. 20

    如何将方法的值从不同的类返回到输出标签

  21. 21

    如何将值从JavaScript中的函数返回到HTML中的文本框

  22. 22

    如何将值从JavaScript中的函数返回到HTML中的文本框

  23. 23

    调用start()之后,为什么线程的构造函数返回到main(),而没有将控件转发到run()方法?

  24. 24

    如何将JSON结果返回到Ajax.BeginForm

  25. 25

    ajax调用如何将数据返回到变量?

  26. 26

    如何将数据从片段返回到活动?

  27. 27

    如何将类从C ++代码返回到C#

  28. 28

    如何将错误消息从SQL Server返回到网页

  29. 29

    如何将数组返回到Excel VBA范围

热门标签

归档