def __init__(self, tableName, parent=None): super(TableEditor, self).__init__(parent) self.model = QtSql.QSqlTableModel(self) self.model.setTable(tableName) self.model.setEditStrategy(QtSql.QSqlTableModel.OnManualSubmit) self.model.select() self.model.setHeaderData(0, QtCore.Qt.Horizontal, "ID") self.model.setHeaderData(1, QtCore.Qt.Horizontal, "First name") self.model.setHeaderData(2, QtCore.Qt.Horizontal, "Last name") view = QtGui.QTableView() view.setModel(self.model) submitButton = QtGui.QPushButton("Submit") submitButton.setDefault(True) revertButton = QtGui.QPushButton("&Revert") quitButton = QtGui.QPushButton("Quit") buttonBox = QtGui.QDialogButtonBox(QtCore.Qt.Vertical) buttonBox.addButton(submitButton, QtGui.QDialogButtonBox.ActionRole) buttonBox.addButton(revertButton, QtGui.QDialogButtonBox.ActionRole) buttonBox.addButton(quitButton, QtGui.QDialogButtonBox.RejectRole) submitButton.clicked.connect(self.submit) revertButton.clicked.connect(self.model.revertAll) quitButton.clicked.connect(self.close) mainLayout = QtGui.QHBoxLayout() mainLayout.addWidget(view) mainLayout.addWidget(buttonBox) self.setLayout(mainLayout) self.setWindowTitle("Cached Table")
def employeeModel(): model = QtSql.QSqlTableModel() model.setTable('employees') for i in range(model.columnCount()): model.setHeaderData(i, QtCore.Qt.Horizontal, Definitions.TableHeaders['employees'][i]) model.select() return model
def __init__(self, parent=None): super(CSVCreator, self).__init__(parent) self.version = version self.log_file = os.path.join(user_dir(), "stellar-csv-creator.log") sys.excepthook = self.error_handler self.setupUi(self) # Set config self.config_path = os.path.join(user_dir(), "config.json") self.config = json.load(open(self.config_path)) self.csv_config = self.config["CSV"] self.app_config = self.config["APP"] self.theme = self.app_config["THEME"] # Configure GUI self.setWindowTitle(f"Stellar CSV Creator v{self.version}") self.window_icon = QtGui.QIcon() if self.theme == "dark": self.dark_theme() self.window_icon_file = "gui/icons/stellar_dark.ico" self.link_color = "#007bff" self.error_color = "#ff4f4f" else: self.window_icon_file = "gui/icons/stellar_default.ico" self.link_color = "#0000ff" self.error_color = "red" # Set icons self.window_icon.addPixmap(QtGui.QPixmap(self.window_icon_file), QtGui.QIcon.Normal, QtGui.QIcon.On) self.setWindowIcon(self.window_icon) # Set utils instances self.mb = MessageBox(self.theme) self.date_format = date_format self.about_window = None self.exit_app = exit_app # Create address book DB self.db = QtSql.QSqlDatabase.addDatabase("QSQLITE") self.db.setDatabaseName(os.path.join(user_dir(), "addresses.db")) if not self.db.open(): self.mb.message_box("Unable to establish a database connection.\n" "This example needs SQLite support. Please read " "the Qt SQL driver documentation for information " "how to build it.\n\n", critical=True) self.query = QtSql.QSqlQuery() self.query.exec_(""" CREATE TABLE IF NOT EXISTS addresses (id integer primary key autoincrement, Nickname VARCHAR(20), Address VARCHAR(20)) """) # Load address book table self.view = self.tableAddresses self.model = QtSql.QSqlTableModel() self.model.setTable("addresses") self.load_addresses() # Address book context menu self.useAction = QtWidgets.QAction("Use", self) self.editAction = QtWidgets.QAction("Edit", self) self.deleteAction = QtWidgets.QAction("Delete", self) self.tableAddresses.addAction(self.useAction) self.tableAddresses.addAction(self.editAction) self.tableAddresses.addAction(self.deleteAction) # Configure address book table self.tableAddresses.installEventFilter(self) self.tableAddresses.verticalHeader().setVisible(False) self.tableAddresses.setColumnHidden(0, True) self.tableAddresses.setColumnWidth(1, 90) self.tableAddresses.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows) self.tableAddresses.horizontalHeader().setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) # Backend functions self.get_config() self.make_links()
def __init__(self): QWidget.__init__(self) self.model = QtSql.QSqlTableModel()
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 = QtWidgets.QApplication(sys.argv) if not connectDB(): print("Error opening to db") sys.exit(1) sql = QtSql.QSqlQuery() sql.exec_( "insert into students(name,addr,city) values ('yojulab','keungki', 'keungki')" ) sql.exec_( "insert into students(name,addr,city) values ('maker','gumchen', 'seoul')" ) model = QtSql.QSqlTableModel() initModel(model) #model.setFilter("name like '%Im%'") sw = SqliteWindow(model) sw.show() sys.exit(app.exec_())
def departmentModel(): model = QtSql.QSqlTableModel() model.setTable('departments') model.setHeaderData(0, QtCore.Qt.Horizontal, 'Department') model.select() return model