QSqlDriver Class
QSqlDriver 클래스는 특정 SQL 데이터베이스에 접근하기 위한 추상 기본 클래스입니다. 더 보기...
| 헤더: | #include <QSqlDriver> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Sql) target_link_libraries(mytarget PRIVATE Qt6::Sql) |
| qmake: | QT += sql |
| 상속: | QObject |
- 상속받은 멤버를 포함한 모든 멤버 목록
- QSqlDriver는 데이터베이스 클래스의 일부입니다.
공개 유형
| enum | DriverFeature { Transactions, QuerySize, BLOB, Unicode, PreparedQueries, …, CancelQuery } |
| enum | IdentifierType { FieldName, TableName } |
| enum | NotificationSource { UnknownSource, SelfSource, OtherSource } |
| enum | StatementType { WhereStatement, SelectStatement, UpdateStatement, InsertStatement, DeleteStatement } |
속성
(since 6.8)numericalPrecisionPolicy : QSql::NumericalPrecisionPolicy
공개 함수
| QSqlDriver(QObject *parent = nullptr) | |
| virtual | ~QSqlDriver() |
| virtual bool | beginTransaction() |
| virtual void | close() = 0 |
| virtual bool | commitTransaction() |
(since 6.9) QString | connectionName() const |
| virtual QSqlResult * | createResult() const = 0 |
| virtual QString | escapeIdentifier(const QString &identifier, QSqlDriver::IdentifierType type) const |
| virtual QString | formatValue(const QSqlField &field, bool trimStrings = false) const |
| virtual QVariant | handle() const |
| virtual bool | hasFeature(QSqlDriver::DriverFeature feature) const = 0 |
| virtual bool | isIdentifierEscaped(const QString &identifier, QSqlDriver::IdentifierType type) const |
| virtual bool | isOpen() const |
| bool | isOpenError() const |
| QSqlError | lastError() const |
(since 6.0) virtual int | maximumIdentifierLength(QSqlDriver::IdentifierType type) const |
| QSql::NumericalPrecisionPolicy | numericalPrecisionPolicy() const |
| virtual bool | open(const QString &db, const QString &user = QString(), const QString &password = QString(), const QString &host = QString(), int port = -1, const QString &options = QString()) = 0 |
| virtual QSqlIndex | primaryIndex(const QString &tableName) const |
| virtual QSqlRecord | record(const QString &tableName) const |
| virtual bool | rollbackTransaction() |
| void | setNumericalPrecisionPolicy(QSql::NumericalPrecisionPolicy precisionPolicy) |
| virtual QString | sqlStatement(QSqlDriver::StatementType type, const QString &tableName, const QSqlRecord &rec, bool preparedStatement) const |
| virtual QString | stripDelimiters(const QString &identifier, QSqlDriver::IdentifierType type) const |
| virtual bool | subscribeToNotification(const QString &name) |
| virtual QStringList | subscribedToNotifications() const |
| virtual QStringList | tables(QSql::TableType tableType) const |
| virtual bool | unsubscribeFromNotification(const QString &name) |
신호
| void | notification(const QString &name, QSqlDriver::NotificationSource source, const QVariant &payload) |
보호된 함수
| virtual void | setLastError(const QSqlError &error) |
| virtual void | setOpen(bool open) |
| virtual void | setOpenError(bool error) |
상세 설명
이 클래스는 직접 사용해서는 안 됩니다. 대신 ` QSqlDatabase `를 사용하십시오.
자신만의 SQL 드라이버를 작성하려면 이 클래스를 상속받아 순수 가상 함수와 필요한 가상 함수들을 재구현할 수 있습니다. 자세한 내용은 ‘자신만의 데이터베이스 드라이버 작성 방법’을 참조하십시오.
QSqlDatabase 및 QSqlResult도 참조하십시오 .
멤버 유형 문서
enum QSqlDriver::DriverFeature
이 열거형에는 드라이버가 지원할 수 있는 기능 목록이 포함되어 있습니다. hasFeature()를 사용하여 특정 기능이 지원되는지 여부를 조회할 수 있습니다. 일부 기능은 데이터베이스 서버에 따라 달라지므로, QSqlDatabase::open()를 통해 데이터베이스 연결이 성공적으로 설정된 후에만 정확히 확인할 수 있습니다.
| 상수 | 값 | 설명 |
|---|---|---|
QSqlDriver::Transactions | 0 | 드라이버가 SQL 트랜잭션을 지원하는지 여부. |
QSqlDriver::QuerySize | 1 | 데이터베이스가 쿼리 크기를 보고할 수 있는지 여부입니다. 일부 데이터베이스는 쿼리의 크기(즉, 반환된 행 수)를 반환하지 않으므로, 이 경우 QSqlQuery::size()은 -1을 반환합니다. |
QSqlDriver::BLOB | 2 | 드라이버가 Binary Large Object(BLOB) 필드를 지원하는지 여부. |
QSqlDriver::Unicode | 3 | 데이터베이스 서버가 유니코드 문자열을 지원하는 경우, 드라이버도 이를 지원하는지 여부. |
QSqlDriver::PreparedQueries | 4 | 드라이버가 준비된 쿼리 실행을 지원하는지 여부. |
QSqlDriver::NamedPlaceholders | 5 | 드라이버가 명명된 자리 표시자의 사용을 지원하는지 여부. |
QSqlDriver::PositionalPlaceholders | 6 | 드라이버가 위치 기반 자리 표시자의 사용을 지원하는지 여부. |
QSqlDriver::LastInsertId | 7 | 드라이버가 마지막으로 처리된 행의 ID를 반환하는지 여부. |
QSqlDriver::BatchOperations | 8 | 드라이버가 일괄 처리를 지원하는지 여부, QSqlQuery::execBatch() 참조 |
QSqlDriver::SimpleLocking | 9 | 다른 쿼리가 테이블에 읽기 잠금을 걸고 있는 동안 드라이버가 해당 테이블에 대한 쓰기 잠금을 허용하지 않는지 여부. |
QSqlDriver::LowPrecisionNumbers | 10 | 드라이버가 낮은 정밀도의 숫자 값을 가져오는 것을 허용하는지 여부. |
QSqlDriver::EventNotifications | 11 | 드라이버가 데이터베이스 이벤트 알림을 지원하는지 여부. |
QSqlDriver::FinishQuery | 12 | QSqlQuery::finish()이 호출될 때 드라이버가 저수준 리소스 정리 작업을 수행할 수 있는지 여부. |
QSqlDriver::MultipleResultSets | 13 | 드라이버가 일괄 처리 문이나 저장 프로시저에서 반환된 여러 결과 집합에 액세스할 수 있는지 여부. |
QSqlDriver::CancelQuery | 14 | 드라이버가 실행 중인 쿼리의 취소를 허용하는지 여부. |
지원되는 기능에 대한 자세한 내용은 Qt SQL 드라이버 설명서를 참조하십시오.
hasFeature()항목도 참조하십시오 .
enum QSqlDriver::IdentifierType
이 열거형에는 SQL 식별자 유형 목록이 포함되어 있습니다.
| 상수 | 값 | 설명 |
|---|---|---|
QSqlDriver::FieldName | 0 | SQL 필드 이름 |
QSqlDriver::TableName | 1 | SQL 테이블 이름 |
enum QSqlDriver::NotificationSource
이 열거형에는 SQL 알림 소스 목록이 포함되어 있습니다.
| 상수 | 값 | 설명 |
|---|---|---|
QSqlDriver::UnknownSource | 0 | 알 수 없는 알림 소스입니다. |
QSqlDriver::SelfSource | 1 | 알림 소스는 이 연결입니다. |
QSqlDriver::OtherSource | 2 | 알림 소스는 다른 연결입니다 |
enum QSqlDriver::StatementType
이 열거형에는 드라이버가 생성할 수 있는 SQL 문(또는 절) 유형 목록이 포함되어 있습니다.
| 상수 | 값 | 설명 |
|---|---|---|
QSqlDriver::WhereStatement | 0 | SQL WHERE 문(예: WHERE f = 5). |
QSqlDriver::SelectStatement | 1 | SQL SELECT 문(예: SELECT f FROM t). |
QSqlDriver::UpdateStatement | 2 | SQL UPDATE 문 (예: UPDATE TABLE t set f = 1). |
QSqlDriver::InsertStatement | 3 | SQL INSERT 문 (예: INSERT INTO t (f) values (1)). |
QSqlDriver::DeleteStatement | 4 | SQL DELETE 문 (예: DELETE FROM t). |
sqlStatement()도 참조하십시오 .
속성 문서
[since 6.8] numericalPrecisionPolicy : QSql::NumericalPrecisionPolicy
이 속성은 데이터베이스 연결에 대한 정밀도 정책을 지정합니다.
참고: 정밀도 정책을설정해도 현재 실행 중인 쿼리에는 영향을 미치지 않습니다.
이 열거형은 Qt 6.8에서 도입되었습니다.
액세스 함수:
| QSql::NumericalPrecisionPolicy | numericalPrecisionPolicy() const |
| void | setNumericalPrecisionPolicy(QSql::NumericalPrecisionPolicy precisionPolicy) |
QSql::NumericalPrecisionPolicy, QSqlQuery::numericalPrecisionPolicy 및 QSqlDatabase::numericalPrecisionPolicy도 참조하십시오 .
멤버 함수 설명서
[explicit] QSqlDriver::QSqlDriver(QObject *parent = nullptr)
지정된 ` parent`를 사용하여 새로운 드라이버를 생성합니다.
[virtual noexcept] QSqlDriver::~QSqlDriver()
객체를 삭제하고 할당된 리소스를 모두 해제합니다.
[virtual] bool QSqlDriver::beginTransaction()
이 함수는 트랜잭션을 시작하기 위해 호출됩니다. 성공하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 기본 구현은 아무 작업도 수행하지 않고 false 를 반환합니다.
commitTransaction() 및 rollbackTransaction()도 참조하십시오 .
[pure virtual] void QSqlDriver::close()
파생 클래스는 데이터베이스 연결을 닫기 위해 이 순수 가상 함수를 재구현해야 합니다. 성공 시 true를, 실패 시 false를 반환합니다.
[virtual] bool QSqlDriver::commitTransaction()
이 함수는 트랜잭션을 커밋하기 위해 호출됩니다. 성공하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 기본 구현은 아무 작업도 수행하지 않고 ` false`를 반환합니다.
beginTransaction() 및 rollbackTransaction()도 참조하십시오 .
[since 6.9] QString QSqlDriver::connectionName() const
QSqlDatabase::addDatabase()을 통해 생성된 드라이버의 데이터베이스 연결 이름을 반환합니다.
이 함수는 Qt 6.9에서 도입되었습니다.
[pure virtual] QSqlResult *QSqlDriver::createResult() const
데이터베이스에 빈 SQL 결과를 생성합니다. 파생 클래스는 이 함수를 재구현하여, 해당 데이터베이스에 적합한 ` QSqlResult ` 객체를 호출자에게 반환해야 합니다.
[virtual] QString QSqlDriver::escapeIdentifier(const QString &identifier, QSqlDriver::IdentifierType type) const
데이터베이스 규칙에 따라 이스케이프 처리된 ` identifier `를 반환합니다. ` identifier `는 ` type`에 따라 테이블 이름이나 필드 이름일 수 있습니다.
기본 구현은 아무 작업도 수행하지 않습니다.
isIdentifierEscaped()도 참조하십시오 .
[virtual] QString QSqlDriver::formatValue(const QSqlField &field, bool trimStrings = false) const
데이터베이스의 ‘ field ’ 값을 문자열로 변환하여 반환합니다. 이는 예를 들어 INSERT 및 UPDATE 문을 생성할 때 사용됩니다.
기본 구현은 다음 규칙에 따라 형식이 지정된 문자열로 값을 반환합니다.
- field 가 문자 데이터인 경우, 값은 작은따옴표로 묶여 반환되며, 이는 많은 SQL 데이터베이스에서 적절한 형식입니다. 내장된 작은따옴표 문자는 이스케이프 처리됩니다(작은따옴표 두 개로 대체됨). trimStrings 가 true인 경우(기본값은 false), 필드의 뒤쪽에 있는 모든 공백이 제거됩니다.
- field 가 날짜/시간 데이터인 경우, 값은 ISO 형식으로 포맷되어 작은따옴표로 묶여 반환됩니다. 날짜/시간 데이터가 유효하지 않은 경우 "NULL"이 반환됩니다.
- field 가 bytearray 데이터이고 드라이버가 바이너리 필드를 편집할 수 있는 경우, 값은 16진수 문자열로 포맷됩니다.
- 그 외의 필드 유형의 경우, 해당 값에 대해 toString()이 호출되고 그 결과가 반환됩니다.
QVariant::toString()도 참조하십시오 .
[virtual] QVariant QSqlDriver::handle() const
QVariant 로 래핑된 저수준 데이터베이스 핸들을 반환하거나, 핸들이 없는 경우 무효한 변수를 반환합니다.
경고: 이 함수는 극도의 주의를 기울여사용해야 하며, 해당 기능을 정확히 이해하고 있는 경우에만 사용하십시오.
경고: 연결이 변경될 경우(예: 연결을 닫을 경우), 여기서 반환된핸들은 유효하지 않은 포인터가 될 수 있습니다.
경고: 연결이 아직 열려 있지 않은 경우핸들이 NULL일 수 있습니다.
여기서 반환되는 핸들은 데이터베이스에 따라 다르므로, 액세스하기 전에 변수의 유형 이름을 조회해야 합니다.
다음 예제는 sqlite 연결에 대한 핸들을 가져옵니다:
QSqlDatabase db = QSqlDatabase::database();
QVariant v = db.driver()->handle();
if (v.isValid() && (qstrcmp(v.typeName(), "sqlite3*") == 0)) {
// v.data() returns a pointer to the handle
sqlite3 *handle = *static_cast<sqlite3 **>(v.data());
if (handle) {
// ...
}
}다음 코드 조각은 PostgreSQL 또는 MySQL에 대한 핸들을 반환합니다:
if (qstrcmp(v.typeName(), "PGconn*") == 0) {
PGconn *handle = *static_cast<PGconn **>(v.data());
if (handle) {
// ...
}
}
if (qstrcmp(v.typeName(), "MYSQL*") == 0) {
MYSQL *handle = *static_cast<MYSQL **>(v.data());
if (handle) {
// ...
}
}QSqlResult::handle()도 참조하십시오 .
[pure virtual] bool QSqlDriver::hasFeature(QSqlDriver::DriverFeature feature) const
드라이버가 feature 기능을 지원하는 경우 true 을 반환하고, 그렇지 않은 경우 false 을 반환합니다.
일부 데이터베이스의 경우, 이를 확인하기 전에 open()을 호출해야 할 수 있습니다.
DriverFeature도 참조하십시오 .
[virtual] bool QSqlDriver::isIdentifierEscaped(const QString &identifier, QSqlDriver::IdentifierType type) const
identifier 가 데이터베이스 규칙에 따라 이스케이프 처리되었는지 여부를 반환합니다. identifier 는 type 에 따라 테이블 이름이나 필드 이름일 수 있습니다.
QSqlDriver 의 서브클래스에서 자체 구현을 제공하려면 이 함수를 재구현하십시오.
stripDelimiters() 및 escapeIdentifier()도 참조하십시오 .
[virtual] bool QSqlDriver::isOpen() const
데이터베이스 연결이 열려 있으면 ` true `를 반환하고, 그렇지 않으면 `false`를 반환합니다.
bool QSqlDriver::isOpenError() const
데이터베이스 연결을 여는 과정에서 오류가 발생하면 ` true `를 반환하고, 그렇지 않으면 ` false`를 반환합니다.
QSqlError QSqlDriver::lastError() const
데이터베이스에서 발생한 마지막 오류에 대한 정보가 포함된 ` QSqlError ` 객체를 반환합니다.
setLastError()도 참조하십시오 .
[virtual, since 6.0] int QSqlDriver::maximumIdentifierLength(QSqlDriver::IdentifierType type) const
데이터베이스 설정에 따라 식별자 ` type `의 최대 길이를 반환합니다. 데이터베이스에 최대 길이 제한이 없는 경우 기본적으로 `INT_MAX`를 반환합니다.
이 함수는 Qt 6.0에서 도입되었습니다.
[signal] void QSqlDriver::notification(const QString &name, QSqlDriver::NotificationSource source, const QVariant &payload)
이 신호는 데이터베이스가 드라이버가 구독하고 있는 이벤트 알림을 게시할 때 발생합니다. ` name `는 이벤트 알림을 식별하고, ` source `는 신호의 출처를 나타내며, ` payload `는 알림과 함께 선택적으로 전달되는 추가 데이터를 담습니다.
subscribeToNotification()도 참조하십시오 .
QSql::NumericalPrecisionPolicy QSqlDriver::numericalPrecisionPolicy() const
numericalPrecisionPolicy를 반환합니다.
참고: numericalPrecisionPolicy 속성에 대한게터 함수입니다.
setNumericalPrecisionPolicy()도 참조하십시오 .
[pure virtual] bool QSqlDriver::open(const QString &db, const QString &user = QString(), const QString &password = QString(), const QString &host = QString(), int port = -1, const QString &options = QString())
파생 클래스는 이 순수 가상 함수를 재구현하여, 사용자 이름 user, 비밀번호 password, 호스트 host, 포트 port 및 연결 옵션 options 을 사용하여 데이터베이스 db 에 연결해야 합니다.
이 함수는 성공 시 true를, 실패 시 false를 반환해야 합니다.
setOpen()도 참조하십시오 .
[virtual] QSqlIndex QSqlDriver::primaryIndex(const QString &tableName) const
tableName 테이블의 기본 인덱스를 반환합니다. 테이블에 기본 인덱스가 없는 경우 빈 QSqlIndex 를 반환합니다. 기본 구현에서는 빈 인덱스를 반환합니다.
[virtual] QSqlRecord QSqlDriver::record(const QString &tableName) const
tableName 테이블에 있는 필드 이름으로 채워진 QSqlRecord 객체를 반환합니다. 해당 테이블이 존재하지 않으면 빈 레코드가 반환됩니다. 기본 구현에서는 빈 레코드를 반환합니다.
[virtual] bool QSqlDriver::rollbackTransaction()
이 함수는 트랜잭션을 롤백하기 위해 호출됩니다. 성공하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 기본 구현은 아무 작업도 수행하지 않고 ` false`를 반환합니다.
beginTransaction() 및 commitTransaction()도 참조하십시오 .
[virtual protected] void QSqlDriver::setLastError(const QSqlError &error)
이 함수는 데이터베이스에서 발생한 마지막 오류( error)의 값을 설정하는 데 사용됩니다.
lastError()도 참조하십시오 .
void QSqlDriver::setNumericalPrecisionPolicy(QSql::NumericalPrecisionPolicy precisionPolicy)
numericalPrecisionPolicy 를 precisionPolicy 로 설정합니다.
참고: numericalPrecisionPolicy 속성에 대한세터 함수입니다.
numericalPrecisionPolicy()도 참조하십시오 .
[virtual protected] void QSqlDriver::setOpen(bool open)
이 함수는 데이터베이스의 열림 상태를 ` open`로 설정합니다. 파생 클래스는 이 함수를 사용하여 ` open()`의 상태를 보고할 수 있습니다.
open() 및 setOpenError()도 참조하십시오 .
[virtual protected] void QSqlDriver::setOpenError(bool error)
이 함수는 데이터베이스의 열림 오류 상태를 ` error`로 설정합니다. 파생 클래스는 이 함수를 사용하여 ` open()`의 상태를 보고할 수 있습니다. ` error `가 true인 경우, 데이터베이스의 열림 상태는 닫힘으로 설정된다는 점에 유의하십시오(즉, ` isOpen()`는 ` false`를 반환합니다).
isOpenError(), open(), setOpen()도 참조하십시오 .
[virtual] QString QSqlDriver::sqlStatement(QSqlDriver::StatementType type, const QString &tableName, const QSqlRecord &rec, bool preparedStatement) const
rec 의 값을 사용하여 tableName 테이블에 대한 type 유형의 SQL 문을 반환합니다. preparedStatement 가 true인 경우, 문자열에는 값 대신 자리 표시자가 포함됩니다.
rec 의 각 필드에 생성된 플래그는 해당 필드가 생성된 문에 포함될지 여부를 결정합니다.
이 메서드를 사용하면 데이터베이스에 종속적인 SQL 방언에 대해 걱정할 필요 없이 테이블을 조작할 수 있습니다. 준비되지 않은 문(non-prepared statements)의 경우, 값은 적절하게 이스케이프 처리됩니다.
WHERE 문에서, ` rec `의 각 null이 아닌 필드는 필드 값(또는 준비된 경우 자리 표시자)과의 등가 필터 조건을 지정합니다. 그러나 준비되었는지 여부와 관계없이, null 필드는 `IS NULL` 조건을 지정하며 절대로 자리 표시자를 도입하지 않습니다. 애플리케이션은 실행 중에 null 필드에 데이터를 바인딩하려고 시도해서는 안 됩니다. 플레이스홀더를 사용하려면 해당 필드를 null이 아닌 값으로 설정해야 합니다. 또한, null이 아닌 필드는 등가 조건을 지정하며 SQL의 NULL은 그 자체를 포함하여 어떤 값과도 같지 않으므로, 일반적으로 null을 플레이스홀더에 바인딩하는 것은 유용하지 않습니다.
[virtual] QString QSqlDriver::stripDelimiters(const QString &identifier, QSqlDriver::IdentifierType type) const
선행 및 후행 구분자가 제거된 ` identifier `를 반환합니다. ` identifier `는 ` type`에 따라 테이블 이름이나 필드 이름일 수 있습니다. ` identifier `에 선행 및 후행 구분자 문자가 없는 경우, ` identifier `는 수정 없이 반환됩니다.
QSqlDriver 의 서브클래스에서 자체 구현을 제공하려면 이 함수를 재구현하십시오.
isIdentifierEscaped()도 참조하십시오 .
[virtual] bool QSqlDriver::subscribeToNotification(const QString &name)
이 함수는 데이터베이스의 이벤트 알림을 구독하기 위해 호출됩니다. ` name `는 이벤트 알림을 식별합니다.
성공하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
이 함수를 호출할 때는 데이터베이스가 열려 있어야 합니다. close()를 호출하여 데이터베이스를 닫으면, 구독 중인 모든 이벤트 알림의 구독이 자동으로 해제됩니다. 이미 열려 있는 데이터베이스에서 open()를 호출하면 암묵적으로 close()가 호출될 수 있으며, 이로 인해 드라이버가 모든 이벤트 알림의 구독을 해제하게 됩니다.
name 로 식별되는 이벤트 알림이 데이터베이스에 의해 게시되면 notification() 신호가 발생합니다.
사용자 정의 QSqlDriver 하위 클래스에서 이벤트 알림 기능을 제공하려면 이 함수를 재구현하십시오.
unsubscribeFromNotification(), subscribedToNotifications(), QSqlDriver::hasFeature()도 참조하십시오 .
[virtual] QStringList QSqlDriver::subscribedToNotifications() const
현재 구독 중인 이벤트 알림 이름의 목록을 반환합니다.
자신만의 ` QSqlDriver ` 하위 클래스에서 이벤트 알림 기능을 지원하려면 이 함수를 재구현하십시오.
subscribeToNotification() 및 unsubscribeFromNotification()도 참조하십시오 .
[virtual] QStringList QSqlDriver::tables(QSql::TableType tableType) const
데이터베이스에 있는 테이블 이름의 목록을 반환합니다. 기본 구현은 빈 목록을 반환합니다.
tableType 인수는 반환될 테이블의 유형을 지정합니다. 바이너리 호환성을 위해, 이 문자열에는 enum QSql::TableTypes의 값이 텍스트 형태로 포함됩니다. 하위 호환성을 위해 빈 문자열은 QSql::Tables 로 처리되어야 합니다.
[virtual] bool QSqlDriver::unsubscribeFromNotification(const QString &name)
이 함수는 데이터베이스의 이벤트 알림 구독을 해지하기 위해 호출됩니다. ` name `는 이벤트 알림을 식별합니다.
성공하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
이 함수를 호출할 때는 데이터베이스가 열려 있어야 합니다. close() 함수가 호출되면 구독 중인 모든 이벤트 알림에 대한 구독이 자동으로 해제됩니다.
이 함수를 호출한 후에는 데이터베이스에서 name 로 식별되는 이벤트 알림이 게시되어도 notification() 신호가 더 이상 발생하지 않습니다.
사용자 정의 QSqlDriver 하위 클래스에서 이벤트 알림 기능을 제공하려면 이 함수를 재구현하십시오.
subscribeToNotification() 및 subscribedToNotifications()도 참조하십시오 .
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.