Exemple #1
0
 def testSetModel(self):
     model = VirtualList()
     model._getItemCalled = False
     table = QTableView()
     table.setModel(model)
     table.show()
     self.assertFalse(model._getItemCalled)
Exemple #2
0
 def testSetModel(self):
     model = VirtualList()
     model._getItemCalled = False
     table = QTableView()
     table.setModel(model)
     table.show()
     self.assertFalse(model._getItemCalled)
Exemple #3
0
def test():
    class XTest( XBase ):
        def __init__( self ):
            XBase.__init__( self )
            self.name = ""
            self.vorname = ""
            self.alter = 0
            self.haarfarbe = ""
            self.schuhgroesse = 0
            self.bemerkung = ""

    x1 = XTest()
    x1.name = "Kendel"
    x1.vorname = "Martin"
    x1.alter = 66
    x1.haarfarbe = "grau"
    x1.schuhgroesse = 44
    x1.bemerkung = "Das ist alles \nein riesengroßer Irrtum"

    x2 = XTest()
    x2.name = "Haaretz"
    x2.vorname = "Yosh"
    x2.alter = 56
    x2.haarfarbe = "schwarz"
    x2.schuhgroesse = 42

    tm = DefaultIccTableModel( (x1, x2 ) )
    tm.setSortable( True )
    tm.setKeyHeaderMappings( { "Nachname": "name", "Vorname": "vorname", "Alter": "alter", "Bemerkung": "bemerkung" } )
    tm.setNumColumnsIndexes( (2,) )

    from PySide2.QtWidgets import QApplication
    app = QApplication()

    tv = QTableView( )
    tv.setModel( tm )
    tv.setAlternatingRowColors( True )
    tv.setSortingEnabled( True )
    tv.resizeColumnsToContents()
    tv.resizeRowsToContents()
    tm.layoutChanged.connect( tv.resizeRowsToContents ) ## <======== WICHTIG bei mehrzeiligem Text in einer Zelle!
    tv.show()

    app.exec_()
Exemple #4
0
def using_model():
    app = QApplication()
    numbers = ['One', 'Two', 'Three', 'Four', 'Five']

    model = QStringListModel()
    model.setStringList(numbers)

    list = QListView()
    list.setModel(model)

    firstTableView = QTableView()
    secondTableView = QTableView()

    firstTableView.setModel(model)
    secondTableView.setModel(model)
    secondTableView.setSelectionModel(firstTableView.selectionModel())

    list.show()
    firstTableView.show()
    secondTableView.show()
    app.exec_()
Exemple #5
0
    # Create the Qt Application
    app = QApplication(sys.argv)

    #get all ip adresses in the lan
    host_list = get_neighbors()
    print(host_list)

    col_getter = [  {"Name": "Dev", "Getter": lambda aHostItem: aHostItem["dev"]},
                    {"Name": "Ip", "Getter": lambda aHostItem: aHostItem["ip"]},
                    {"Name": "Mac", "Getter": lambda aHostItem: aHostItem["mac"]}, ]


    host_table = QTableView()
    host_model = HostModel(host_list, col_getter, host_table)
    host_table.setModel(host_model)
    host_table.show()

    # Run the main Qt loop
    sys.exit(app.exec_())











            "Getter": lambda aHostItem: aHostItem["dev"]
        },
        {
            "Name": "Ip",
            "Getter": lambda aHostItem: aHostItem["ip"]
        },
        {
            "Name": "Mac",
            "Getter": lambda aHostItem: aHostItem["mac"]
        },
    ]

    host_table = QTableView()
    host_model = HostModel(host_list, col_getter, host_table)
    host_table.setModel(host_model)
    host_table.show()

    # Run the main Qt loop
    sys.exit(app.exec_())

    #class Form(QDialog):
#
#    def __init__(self, parent=None):
#        super(Form, self).__init__(parent)
#        # Create widgets
#        self.edit = QLineEdit("Write my name here")
#        self.button = QPushButton("Show Greetings")
#        # Create layout and add widgets
#        layout = QVBoxLayout()
#        layout.addWidget(self.edit)
#        layout.addWidget(self.button)
Exemple #7
0
class MyMainWindow(QMainWindow, Ui_PySide2_Chroma_Eload_GUI.Ui_MainWindow):
    def __init__(self, parent=None):
        super(MyMainWindow, self).__init__(parent)
        self.setupUi(self)
        self.commandLinkButton.clicked.connect(self.pushButton_Click)
        self.pushButton.clicked.connect(self.detectGPIB)
        self.pushButton_2.clicked.connect(self.openDf_csv)
        self.pushButton_3.clicked.connect(self.reflash_filename)

        ##to do , select checkbox then goto next step
        ##self.checkBox_1.checked.connect(self.setNextOn)

        # set window title
        self.setWindowTitle("PyEfficiency 2022.03.09")
        self.setFixedSize(720, 800)
        self.checkBox.setChecked(False)

        #set DC source On
        self.pushButton_4.clicked.connect(self.dcsourceOn)
        #set DC source Off
        self.pushButton_5.clicked.connect(self.dcsourceOff)

        self.show()
        self.time = str(datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S"))
        self.filename = self.time + ".csv"
        #set defalut file name
        self.init_save_filename = "PyEff_"
        self.lineEdit.setText(self.init_save_filename)
        self.df = pd.DataFrame()

        #set "open reuslt" button isn't work in GUI init.
        self.pushButton_2.setEnabled(False)

        #set comboBox value
        self.comboBox.setCurrentText("7")
        #self.comboBox.setEnabled(True)
        self.comboBox_2.setCurrentText("9")
        #self.comboBox_2.setEnabled(True)
        self.comboBox_3.setCurrentText("5")

    def openDf_csv(self):
        self.filename = self.lineEdit.text()
        self.df.to_csv(self.filename)
        os.system("start excel.exe %s" % self.filename)

    def pushButton_Click(self):
        self.reflash_filename()
        if (self.checkBox_1.isChecked() or self.checkBox_3.isChecked()
                or self.checkBox_5.isChecked() or self.checkBox_7.isChecked()
                or self.checkBox_9.isChecked()
                or self.checkBox_51.isChecked()) == 0:
            QMessageBox.about(self, "Warning",
                              "please checked Eload channel in the GUI")
        else:
            loadlist = gpib.ComboEload()
            Iout_max = int(self.lineEdit_2.text())
            Iout_step = int(self.lineEdit_3.text())
            Delay = int(self.lineEdit_4.text())
            gpibaddr1 = int(self.comboBox.currentText())
            gpibaddr2 = int(self.comboBox_2.currentText())
            if self.checkBox_1.isChecked():
                load1 = gpib.ChromaEload(gpibaddr1, 1,
                                         int(self.lineEdit_L1.text()), 0)
                loadlist.addEload(load1)

            if self.checkBox_3.isChecked():
                load3 = gpib.ChromaEload(gpibaddr1, 3,
                                         int(self.lineEdit_L3.text()), 0)
                loadlist.addEload(load3)

            if self.checkBox_5.isChecked():
                load5 = gpib.ChromaEload(gpibaddr1, 5,
                                         int(self.lineEdit_L5.text()), 0)
                loadlist.addEload(load5)

            if self.checkBox_7.isChecked():
                load7 = gpib.ChromaEload(gpibaddr1, 7,
                                         int(self.lineEdit_L7.text()), 0)
                loadlist.addEload(load7)

            if self.checkBox_9.isChecked():
                load9 = gpib.ChromaEload(gpibaddr1, 9,
                                         int(self.lineEdit_L9.text()), 0)
                loadlist.addEload(load9)

            if self.checkBox_51.isChecked():
                load51 = gpib.ChromaEload(gpibaddr2, 1,
                                          int(self.lineEdit_L51.text()), 0)
                loadlist.addEload(load51)

            #df=measure.measureEfficiency(loadlist,Iout_max,Iout_step,Delay)
            if self.checkBox.isChecked():
                df = measure.measureEfficiency(loadlist, Iout_max, Iout_step,
                                               Delay, 1)
            else:
                df = measure.measureEfficiency(loadlist, Iout_max, Iout_step,
                                               Delay, 0)

            #self.textBrowser.setText("Efficiency finish")

            self.showdf(df)
            self.df = df
            self.pushButton_2.setEnabled(True)
            self.df.to_csv(self.lineEdit.text())

    def detectGPIB(self):
        df = gpib.scanGPIB()
        self.showdf(df)

    def showdf(self, df):
        model = PdQtClass.pandasModel(df)
        view = QTableView()
        view.setModel(model)
        view.resize(800, 600)
        self.w = QTableView()
        self.w.setModel(model)
        self.w.resize(480, 320)
        self.w.show()

    # for test button
    def pushbutton3(self):

        self.pushButton_2.setEnabled(True)
        self.filename = self.lineEdit.text()
        print(self.time)
        print(self.filename)
        self.reflash_filename()
        self.pushButton_4.setStyleSheet('background-color: Red')

    def reflash_filename(self):
        self.time = str(datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S"))
        self.filename = self.init_save_filename
        self.lineEdit.setText(self.filename + self.lineEdit_5.text() +
                              "Vin_Imax" + self.lineEdit_2.text() + "A_" +
                              self.time + ".csv")

    #set DC source
    def dcsourceOn(self):
        voltage = float(self.lineEdit_5.text())
        current = int(self.lineEdit_6.text())
        gpibaddr = int(self.comboBox_3.currentText())
        self.push_msg_to_GUI(
            f'set DC source to {voltage}V, {current}A and turn on')
        dcsource = gpib.AgilentDCsource(gpibaddr, voltage, current)
        dcsource.On()
        self.pushButton_4.setStyleSheet('background-color: Red')
        None

    def dcsourceOff(self):
        voltage = float(self.lineEdit_5.text())
        current = int(self.lineEdit_6.text())
        gpibaddr = int(self.comboBox_3.currentText())
        dcsource = gpib.AgilentDCsource(gpibaddr, voltage, current)
        dcsource.Off()
        self.push_msg_to_GUI("Turn off DC source")
        self.pushButton_4.setStyleSheet('background-color: None')

    ## to do , select checkbox then goto next step
    def setNextOn(self):
        None

    def push_msg_to_GUI(self, msg=""):
        if True:
            self.textEdit.append(str(msg))
            self.textEdit.append("")
        else:
            pass
Exemple #8
0
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
##
## $QT_END_LICENSE$
##
#############################################################################

import sys

from PySide2.QtCore import Qt
from PySide2.QtSql import QSqlQueryModel
from PySide2.QtWidgets import QTableView, QApplication

import createdb
from bookdelegate import BookDelegate

if __name__ == "__main__":
    app = QApplication()
    createdb.init_db()

    model = QSqlQueryModel()
    model.setQuery("select title, author, genre, year, rating from books")

    table = QTableView()
    table.setModel(model)
    table.setItemDelegate(BookDelegate())
    table.resize(800, 600)
    table.show()

    sys.exit(app.exec_())
Exemple #9
0
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
##
## $QT_END_LICENSE$
##
#############################################################################

import sys

from PySide2.QtSql import QSqlQueryModel
from PySide2.QtWidgets import QTableView, QApplication

import createdb

if __name__ == "__main__":
    app = QApplication()
    createdb.init_db()

    model = QSqlQueryModel()
    model.setQuery("select * from books")

    table_view = QTableView()
    table_view.setModel(model)
    table_view.resize(800, 600)
    table_view.show()
    sys.exit(app.exec_())
Exemple #10
0

if __name__ == '__main__':
    import sys
    import numpy as np
    from PySide2.QtWidgets import QApplication, QTableView, QVBoxLayout

    # User specifies grains.out file
    if (len(sys.argv) < 2):
        print()
        print('Load grains.out file and display as table')
        print('Usage: python fit_grains_resuls_model.py  <path-to-grains.out>')
        print()
        sys.exit(-1)

    # print(sys.argv)
    app = QApplication(sys.argv)

    data = np.loadtxt(sys.argv[1])
    # print(data)

    model = FitGrainsResultsModel(data)
    view = QTableView()
    view.verticalHeader().hide()
    view.setModel(model)
    view.resizeColumnToContents(0)
    view.resize(960, 320)

    view.show()
    app.exec_()
Exemple #11
0
        return False

    def setModelData(self, editor, model, index):
        '''
        The user wanted to change the old state in the opposite.
        '''
        model.setData(index, 1 if int(index.data()) == 0 else 0,
                      QtCore.Qt.EditRole)


if __name__ == '__main__':

    import sys

    app = QApplication(sys.argv)

    model = QStandardItemModel(4, 3)
    tableView = QTableView()
    tableView.setModel(model)

    delegate = CheckBoxDelegate(None)
    tableView.setItemDelegateForColumn(1, delegate)
    for row in range(4):
        for column in range(3):
            index = model.index(row, column, QModelIndex())
            model.setData(index, 1)

    tableView.setWindowTitle("Check Box Delegate")
    tableView.show()
    sys.exit(app.exec_())