Exemple #1
0
    def createModel(self):

        self.model = QtSql.QSqlTableModel()
        self.model.setTable("Cars")
        self.model.select()

        self.model.setHeaderData(0, QtCore.Qt.Horizontal, "Id")
        self.model.setHeaderData(1, QtCore.Qt.Horizontal, "Name")
        self.model.setHeaderData(2, QtCore.Qt.Horizontal, "Price")

        strategy = QtSql.QSqlTableModel.OnFieldChange
        self.model.setEditStrategy(strategy)
Exemple #2
0
    def __init__(self, parent=None):
        super(AccountsDialog, self).__init__(parent=parent)
        self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
        self.setupUi(self)
        self.closeButton.clicked.connect(self._close)
        self.saveButton.clicked.connect(self.saveSettings)
        self.revertButton.clicked.connect(self.revertChanges)
        self.saveButton.setEnabled(False)
        self.revertButton.setEnabled(False)
        self._changesMade = False
        self._allowAccountShareEdit = True
        self._accountRecordCount = None
        self.addAccountButton.clicked.connect(self.addNewAccount)
        self.removeAccountButton.clicked.connect(self.removeAccount)

        # Account shares, filter is set in switchAccounts
        self.accountShareView.setSelectionMode(
            QtGui.QAbstractItemView.NoSelection)
        model = AccountShareModel(self)
        self.accountShareView.setModel(model)
        model.dataChanged.connect(self.setButtonsEnabled)
        self.accountShareView.setModelColumn(enum.kUsers_UserName)

        # Account Types dropdown (read-only)
        model = QtSql.QSqlTableModel(self)
        model.setTable('accounttypes')
        self.accountType.setModel(model)
        self.accountType.setModelColumn(enum.kAccountType__AccountName)
        model.select()

        # Accounts model
        model = QtSql.QSqlRelationalTableModel(self)
        model.setTable('accounts')
        model.setFilter('userid=%s' % db.userId)
        model.setSort(enum.kAccounts_Name, QtCore.Qt.AscendingOrder)
        model.setRelation(
            enum.kAccounts_AccountTypeId,
            QtSql.QSqlRelation('accounttypes', 'accounttypeid', 'accountname'))
        model.setEditStrategy(QtSql.QSqlTableModel.OnManualSubmit)

        self.accountCombo.currentIndexChanged.connect(self.switchAccount)
        self.accountCombo.setModel(model)
        self.accountCombo.setModelColumn(enum.kAccounts_Name)
        self.accountCombo.setEditable(True)

        self.accountCombo.editTextChanged.connect(self.accountNameChanged)
        self.sortCode.textChanged.connect(self.sortCodeChanged)
        self.accountNo.textChanged.connect(self.accountNoChanged)
        self.accountType.activated[int].connect(self.accountTypeChanged)
        model.select()

        self.accountCombo.setCurrentIndex(0)
    def __init__(self, controller, parent=None):
        # QtGui.QDialog.__init__(self, parent)
        super(BookmarkManagerDialog, self).__init__(parent=parent)

        self.ui = Ui_Bookmark_Dialog()
        self.ui.setupUi(self)

        self.controller = controller
        path = Utility.get_dir_name(
            controller.model.settings_manager.settings.fileName())

        self.db = QtSql.QSqlDatabase().addDatabase("QSQLITE")
        self.db.setDatabaseName(path + u'/bookmark.db')

        if self.db.open():

            self.model = QtSql.QSqlTableModel(self, self.db)
            self.model.setTable('Bookmark')

            self.model.setEditStrategy(QtSql.QSqlTableModel.OnManualSubmit)
            self.model.select()
            self.model.setHeaderData(2, QtCore.Qt.Horizontal, "Name")
            self.model.setHeaderData(3, QtCore.Qt.Horizontal, "Page")

            self.ui.bookmark_table.setModel(self.model)
            self.ui.bookmark_table.hideColumn(0)
            self.ui.bookmark_table.hideColumn(1)
            self.ui.bookmark_table.hideColumn(4)

            self.ui.bookmark_table.horizontalHeader().setResizeMode(
                2, QtGui.QHeaderView.Stretch)
            self.ui.bookmark_table.horizontalHeader().setResizeMode(
                3, QtGui.QHeaderView.ResizeToContents)

            self.ui.button_remove.clicked.connect(self._remove_table_item)
            self.ui.button_load.clicked.connect(self._get_comic_to_open)

            selection = self.ui.bookmark_table.selectionModel()
            selection.selectionChanged.connect(self.selection_changed)

            self.no_cover_label = self.ui.page_image_label.pixmap(
            ).scaledToWidth(self.width() * self.SCALE_RATIO,
                            QtCore.Qt.SmoothTransformation)

            self.ui.page_image_label.setPixmap(self.no_cover_label)
            print '[INFO] Database load!'

        else:
            print "[ERROR] Unable to create db file!"
Exemple #4
0
    def create_proband_table(self):

        self.df = data.populate_demographics()
        self.probands_list = self.df.proband_id.unique().tolist()
        self.db = QtSql.QSqlDatabase.addDatabase("QSQLITE")
        self.db.setDatabaseName(data.LOCAL_DB_F)
        self.db.open()
        self.model = QtSql.QSqlTableModel()
        self.model.setTable('probands')
        self.model.setEditStrategy(self.model.OnManualSubmit)
        self.view = QtGui.QTableView()
        self.view.setModel(self.model)
        self.view.setSelectionMode(self.view.SingleSelection)
        self.view.setSelectionBehavior(self.view.SelectRows)
        self.view.setSortingEnabled(True)
        self.proband_grid.addWidget(self.view, 2, 0, 1, 5)
Exemple #5
0
    def show_admin_table(self):

        model = QtSql.QSqlTableModel(self)
        model.setTable('Admin')
        model.select()
        # model.setHeaderData(0, QtCore.Qt.Horizontal, 'Day Of Meetings')

        self.adminList.setWindowTitle('Admin List')
        self.adminList.setWindowIcon(self.parent.icon)
        self.adminList.resize(600, 500)
        self.adminList.setModel(model)
        self.adminList.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
        self.adminList.setSelectionMode(
            QtGui.QAbstractItemView.SingleSelection)
        self.adminList.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
        self.adminList.resizeColumnsToContents()
        self.adminList.show()
Exemple #6
0
    def __init__(self, table, title, parent=None):
        super(ReferenceDataDlg, self).__init__(parent)

        #print table, title
        self.model = QtSql.QSqlTableModel(self)
        self.model.setTable(table)
        self.model.setSort(NAME, QtCore.Qt.AscendingOrder)
        self.model.setHeaderData(ID, QtCore.Qt.Horizontal, "ID")
        self.model.setHeaderData(NAME, QtCore.Qt.Horizontal, "Name")
        self.model.setHeaderData(DESCRIPTION, QtCore.Qt.Horizontal,
                                 "Description")
        self.model.select()

        self.view = QtGui.QTableView()
        self.view.setModel(self.model)
        self.view.setSelectionMode(QtGui.QTableView.SingleSelection)
        self.view.setSelectionBehavior(QtGui.QTableView.SelectRows)
        self.view.setColumnHidden(ID, True)
        self.view.resizeColumnsToContents()

        addButton = QtGui.QPushButton("&Add")
        deleteButton = QtGui.QPushButton("&Delete")
        okButton = QtGui.QPushButton("&OK")
        if not MAC:
            addButton.setFocusPolicy(QtCore.Qt.NoFocus)
            deleteButton.setFocusPolicy(QtCore.Qt.NoFocus)

        buttonLayout = QtGui.QHBoxLayout()
        buttonLayout.addWidget(addButton)
        buttonLayout.addWidget(deleteButton)
        buttonLayout.addStretch()
        buttonLayout.addWidget(okButton)
        layout = QtGui.QVBoxLayout()
        layout.addWidget(self.view)
        layout.addLayout(buttonLayout)
        self.setLayout(layout)

        addButton.clicked.connect(self.addRecord)
        deleteButton.clicked.connect(self.deleteRecord)
        okButton.clicked.connect(self.accept)

        self.setWindowTitle(
            "Asset Manager - Edit {} Reference Data".format(title))
Exemple #7
0
    def button_show_gear_table(self):

        # Clear the message window
        self.parent.set_stat_message()

        model = QtSql.QSqlTableModel(self)
        model.setTable('Gear')
        model.select()

        self.viewGear.setWindowTitle('Gear Inventory')
        self.viewGear.setWindowIcon(self.parent.icon)
        self.viewGear.resize(600, 500)
        self.viewGear.setModel(model)
        self.viewGear.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
        self.viewGear.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
        self.viewGear.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
        self.viewGear.clicked.connect(
            self.get_gear_id_from_gear_inventory_table)
        self.viewGear.resizeColumnsToContents()
        self.viewGear.show()
Exemple #8
0
    def Button_showMembs(self):

        # Clear the message window
        self.parent.set_stat_message()

        model = QtSql.QSqlTableModel(self)
        model.setTable('Member')
        model.select()

        self.viewMembers = QtGui.QTableView(None)
        self.viewMembers.setWindowTitle('Member List')
        self.viewMembers.setWindowIcon(self.parent.icon)
        self.viewMembers.resize(600, 500)
        self.viewMembers.setModel(model)
        self.viewMembers.setEditTriggers(
            QtGui.QAbstractItemView.NoEditTriggers)
        self.viewMembers.setSelectionMode(
            QtGui.QAbstractItemView.SingleSelection)
        self.viewMembers.setSelectionBehavior(
            QtGui.QAbstractItemView.SelectRows)
        self.viewMembers.clicked.connect(self.getMIDMemberTable)
        self.viewMembers.resizeColumnsToContents()
        self.viewMembers.show()
        self.queryedit = QtGui.QLineEdit(self)
        table = QtGui.QTableView(self)
        self.model = model
        table.setModel(model)
        #table.resize(450, 200)
        hbox.addWidget(label)
        hbox.addWidget(self.queryedit)
        vbox.addLayout(hbox)
        vbox.addWidget(table)
        self.queryedit.returnPressed.connect(self.sendQuery)

    def sendQuery(self):
        text = self.queryedit.text()
        self.model.setFilter(text)
        self.model.select()


if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    if not connectDB():
        print "Error opening to db"
        sys.exit(1)

    model = QtSql.QSqlTableModel()
    initModel(model)
    #model.setFilter("name like '%Im%'")

    sw = SqliteWindow(model)
    sw.show()
    sys.exit(app.exec_())
    def __init__(self, tableName, dbName, parent=None):
        QtGui.QDialog.__init__(self, parent)

        self.tableName = tableName
        self.dbName = dbName

        #References
        #define model
        self.model = QtSql.QSqlTableModel(self)
        self.model.setTable(tableName)
        self.model.select()

        #set tableview to display data in model
        self.view = QtGui.QTableView()
        self.view.setModel(self.model)

        #Bells/whistles
        self.view.resizeColumnsToContents()
        self.view.setAlternatingRowColors(True)

        #finish up and show
        self.setWindowTitle("{0}:  {1}".format(dbName, tableName))

        #BUttons
        self.quitButton = QtGui.QPushButton("Quit")
        self.addButton = QtGui.QPushButton("Add")
        self.removeButton = QtGui.QPushButton("Remove")
        self.sortButton = QtGui.QPushButton("Sort By")

        #Sort button/menu and create mapping/connection to slot
        sortMenu = QtGui.QMenu(self.sortButton)
        idSort = sortMenu.addAction("ID")
        categorySort = sortMenu.addAction("Category")
        shortDescSort = sortMenu.addAction("Short desc")
        self.sortButton.setMenu(sortMenu)
        #Use qsignalmapper to carry value
        sortMapping = QtCore.QSignalMapper(self)
        sortMapping.setMapping(idSort, 0)
        sortMapping.setMapping(categorySort, 1)
        sortMapping.setMapping(shortDescSort, 2)
        #connections
        idSort.triggered.connect(sortMapping.map)
        categorySort.triggered.connect(sortMapping.map)
        shortDescSort.triggered.connect(sortMapping.map)
        #connect to mapping
        sortMapping.mapped[int].connect(self.sortData)

        #Make other connections
        self.quitButton.clicked.connect(self.accept)
        self.addButton.clicked.connect(self.addRow)
        self.removeButton.clicked.connect(self.remRow)

        #Set layout
        buttonLayout = QtGui.QHBoxLayout(
        )  #horiz button layout (replace with q
        buttonLayout.addWidget(self.addButton)
        buttonLayout.addWidget(self.removeButton)
        buttonLayout.addWidget(self.sortButton)
        buttonLayout.addStretch()
        buttonLayout.addWidget(self.quitButton)
        layout = QtGui.QVBoxLayout()
        layout.addWidget(self.view)  #table view
        layout.addLayout(buttonLayout)  #pushbutton

        self.setLayout(layout)

        #self.setWindowTitle("Database inspector")
        self.show()
        QtGui.QApplication.processEvents()
        self.resizeWindowToColumns()  #resize window to fit columns
    def __init__(self, parent=None):
        super(PhoneLogDlg, self).__init__(parent)

        callerLabel = QtGui.QLabel("&Caller:")
        self.callerEdit = QtGui.QLineEdit()
        callerLabel.setBuddy(self.callerEdit)
        today = QtCore.QDate.currentDate()
        startLabel = QtGui.QLabel("&Start:")
        self.startDateTime = QtGui.QDateTimeEdit()
        startLabel.setBuddy(self.startDateTime)
        self.startDateTime.setDateRange(today, today)
        self.startDateTime.setDisplayFormat(DATETIME_FORMAT)
        endLabel = QtGui.QLabel("&End:")
        self.endDateTime = QtGui.QDateTimeEdit()
        endLabel.setBuddy(self.endDateTime)
        self.endDateTime.setDateRange(today, today)
        self.endDateTime.setDisplayFormat(DATETIME_FORMAT)
        topicLabel = QtGui.QLabel("&Topic:")
        topicEdit = QtGui.QLineEdit()
        topicLabel.setBuddy(topicEdit)
        firstButton = QtGui.QPushButton()
        firstButton.setIcon(QtGui.QIcon(":/first.png"))
        prevButton = QtGui.QPushButton()
        prevButton.setIcon(QtGui.QIcon(":/prev.png"))
        nextButton = QtGui.QPushButton()
        nextButton.setIcon(QtGui.QIcon(":/next.png"))
        lastButton = QtGui.QPushButton()
        lastButton.setIcon(QtGui.QIcon(":/last.png"))
        addButton = QtGui.QPushButton("&Add")
        addButton.setIcon(QtGui.QIcon(":/add.png"))
        deleteButton = QtGui.QPushButton("&Delete")
        deleteButton.setIcon(QtGui.QIcon(":/delete.png"))
        quitButton = QtGui.QPushButton("&Quit")
        quitButton.setIcon(QtGui.QIcon(":/quit.png"))

        addButton.setFocusPolicy(QtCore.Qt.NoFocus)
        deleteButton.setFocusPolicy(QtCore.Qt.NoFocus)

        fieldLayout = QtGui.QGridLayout()
        fieldLayout.addWidget(callerLabel, 0, 0)
        fieldLayout.addWidget(self.callerEdit, 0, 1, 1, 3)
        fieldLayout.addWidget(startLabel, 1, 0)
        fieldLayout.addWidget(self.startDateTime, 1, 1)
        fieldLayout.addWidget(endLabel, 1, 2)
        fieldLayout.addWidget(self.endDateTime, 1, 3)
        fieldLayout.addWidget(topicLabel, 2, 0)
        fieldLayout.addWidget(topicEdit, 2, 1, 1, 3)
        navigationLayout = QtGui.QHBoxLayout()
        navigationLayout.addWidget(firstButton)
        navigationLayout.addWidget(prevButton)
        navigationLayout.addWidget(nextButton)
        navigationLayout.addWidget(lastButton)
        fieldLayout.addLayout(navigationLayout, 3, 0, 1, 2)
        buttonLayout = QtGui.QVBoxLayout()
        buttonLayout.addWidget(addButton)
        buttonLayout.addWidget(deleteButton)
        buttonLayout.addStretch()
        buttonLayout.addWidget(quitButton)
        layout = QtGui.QHBoxLayout()
        layout.addLayout(fieldLayout)
        layout.addLayout(buttonLayout)
        self.setLayout(layout)

        self.model = QtSql.QSqlTableModel(self)
        self.model.setTable("calls")
        self.model.setSort(STARTTIME, QtCore.Qt.AscendingOrder)
        self.model.select()

        #maps from widget to model (neet to set model)
        self.mapper = QtGui.QDataWidgetMapper(self)
        self.mapper.setSubmitPolicy(QtGui.QDataWidgetMapper.ManualSubmit)
        self.mapper.setModel(self.model)
        self.mapper.addMapping(self.callerEdit, CALLER)
        self.mapper.addMapping(self.startDateTime, STARTTIME)
        self.mapper.addMapping(self.endDateTime, ENDTIME)
        self.mapper.addMapping(topicEdit, TOPIC)
        self.mapper.toFirst()

        firstButton.clicked.connect(
                lambda: self.saveRecord(PhoneLogDlg.FIRST))
        prevButton.clicked.connect(
                lambda: self.saveRecord(PhoneLogDlg.PREV))
        nextButton.clicked.connect(
                lambda: self.saveRecord(PhoneLogDlg.NEXT))
        lastButton.clicked.connect(
                lambda: self.saveRecord(PhoneLogDlg.LAST))
        addButton.clicked.connect(self.addRecord)
        deleteButton.clicked.connect(self.deleteRecord)
        quitButton.clicked.connect(self.accept)

        self.setWindowTitle("Phone Log")
Exemple #12
0
 def __init__(self):
     QWidget.__init__(self)
     self.model = QtSql.QSqlTableModel()