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)
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!"
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)
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()
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))
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()
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")
def __init__(self): QWidget.__init__(self) self.model = QtSql.QSqlTableModel()