本文整理汇总了C++中q_func函数的典型用法代码示例。如果您正苦于以下问题:C++ q_func函数的具体用法?C++ q_func怎么用?C++ q_func使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了q_func函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: QHttpConnectionPrivate
explicit QHttpConnectionPrivate(QHttpConnection* q) : HttpParser(HTTP_REQUEST), q_ptr(q) {
QObject::connect(q_func(), &QHttpConnection::disconnected, [this](){
// if socket drops and http_parser can not call messageComplete, dispatch the ilastRequest
onDispatchRequest();
isocket.release();
if ( ilastRequest )
ilastRequest->deleteLater();
if ( ilastResponse )
ilastResponse->deleteLater();
q_func()->deleteLater();
});
QHTTP_LINE_DEEPLOG
}
示例2: SIGNAL
void QGraphicsSceneIndexPrivate::init()
{
if (!scene)
return;
QObject::connect(scene, SIGNAL(sceneRectChanged(QRectF)),
q_func(), SLOT(updateSceneRect(QRectF)));
}
示例3: switch
void QextSerialPortPrivate::setDataBits(DataBitsType dataBits, bool update)
{
switch(dataBits) {
case DATA_5:
if (Settings.StopBits==STOP_2) {
QESP_WARNING("QextSerialPort: 5 Data bits cannot be used with 2 stop bits.");
}
else {
Settings.DataBits=dataBits;
settingsDirtyFlags |= DFE_DataBits;
}
break;
case DATA_6:
#ifdef Q_OS_WIN
if (Settings.StopBits==STOP_1_5) {
QESP_WARNING("QextSerialPort: 6 Data bits cannot be used with 1.5 stop bits.");
}
else
#endif
{
Settings.DataBits=dataBits;
settingsDirtyFlags |= DFE_DataBits;
}
break;
case DATA_7:
#ifdef Q_OS_WIN
if (Settings.StopBits==STOP_1_5) {
QESP_WARNING("QextSerialPort: 7 Data bits cannot be used with 1.5 stop bits.");
}
else
#endif
{
Settings.DataBits=dataBits;
settingsDirtyFlags |= DFE_DataBits;
}
break;
case DATA_8:
#ifdef Q_OS_WIN
if (Settings.StopBits==STOP_1_5) {
QESP_WARNING("QextSerialPort: 8 Data bits cannot be used with 1.5 stop bits.");
}
else
#endif
{
Settings.DataBits=dataBits;
settingsDirtyFlags |= DFE_DataBits;
}
break;
default:
QESP_WARNING()<<"QextSerialPort does not support Data bits:"<<dataBits;
}
if (update && q_func()->isOpen())
updatePortSettings();
}
示例4: CHECK_SIZE_LESS_THAN
QModbusResponse QModbusServerPrivate::processWriteMultipleRegistersRequest(
const QModbusRequest &request)
{
CHECK_SIZE_LESS_THAN(request);
quint16 address, numberOfRegisters;
quint8 byteCount;
request.decodeData(&address, &numberOfRegisters, &byteCount);
// byte count does not match number of data bytes following or register count
if ((byteCount != (request.dataSize() - 5 )) || (byteCount != (numberOfRegisters * 2))) {
return QModbusExceptionResponse(request.functionCode(),
QModbusExceptionResponse::IllegalDataValue);
}
if ((numberOfRegisters < 0x0001) || (numberOfRegisters > 0x007B)) {
return QModbusExceptionResponse(request.functionCode(),
QModbusExceptionResponse::IllegalDataValue);
}
// Get the requested range out of the registers.
QModbusDataUnit registers(QModbusDataUnit::HoldingRegisters, address, numberOfRegisters);
if (!q_func()->data(®isters)) {
return QModbusExceptionResponse(request.functionCode(),
QModbusExceptionResponse::IllegalDataAddress);
}
const QByteArray pduData = request.data().remove(0,5);
QDataStream stream(pduData);
QVector<quint16> values;
quint16 tmp;
for (int i = 0; i < numberOfRegisters; i++) {
stream >> tmp;
values.append(tmp);
}
registers.setValues(values);
if (!q_func()->setData(registers)) {
return QModbusExceptionResponse(request.functionCode(),
QModbusExceptionResponse::ServerDeviceFailure);
}
return QModbusResponse(request.functionCode(), address, numberOfRegisters);
}
示例5: switch
void QMediaImageViewerPrivate::_q_mediaStatusChanged(QMediaImageViewer::MediaStatus status)
{
switch (status) {
case QMediaImageViewer::NoMedia:
case QMediaImageViewer::LoadingMedia:
emit q_func()->mediaStatusChanged(status);
break;
case QMediaImageViewer::LoadedMedia:
if (state == QMediaImageViewer::PlayingState) {
time.start();
timer.start(qMax(0, timeout), q_func());
q_func()->addPropertyWatch("elapsedTime");
}
emit q_func()->mediaStatusChanged(status);
emit q_func()->elapsedTimeChanged(0);
break;
case QMediaImageViewer::InvalidMedia:
emit q_func()->mediaStatusChanged(status);
if (state == QMediaImageViewer::PlayingState) {
playlist->next();
if (playlist->currentIndex() < 0)
emit q_func()->stateChanged(state = QMediaImageViewer::StoppedState);
}
break;
}
}
示例6: q_func
void QGalleryTrackerResultSetPrivate::syncUpdate(
const int rIndex, const int rCount, const int iIndex, const int iCount)
{
bool itemChanged = false;
if (currentIndex >= iCache.cutoff && currentIndex < iCache.cutoff + iCount) {
currentRow = iCache.values.constBegin() + (currentIndex * tableWidth);
itemChanged = true;
}
rCache.offset = rIndex + rCount;
iCache.cutoff = iIndex + iCount;
emit q_func()->metaDataChanged(iIndex, iCount, propertyKeys);
if (itemChanged)
emit q_func()->currentItemChanged();
}
示例7: q_func
void QMediaImageViewerPrivate::_q_playlistMediaChanged(const QMediaContent &content)
{
media = content;
pauseTime = 0;
viewerControl->showMedia(media);
emit q_func()->mediaChanged(media);
}
示例8: q_func
void BLocalDocumentDriverPrivate::saveOperationFinished()
{
SaveResultFutureWatcher *watcher = dynamic_cast<SaveResultFutureWatcher *>(sender());
if (!watcher)
return;
SaveResult res = watcher->result();
delete watcher;
q_func()->emitSavingFinished(res.operation, res.success);
}
示例9: Q_ASSERT
void PlasmaShellSurfaceInterface::Private::panelAutoHideShowCallback(wl_client *client, wl_resource *resource)
{
auto s = cast<Private>(resource);
Q_ASSERT(client == *s->client);
if (s->m_role != Role::Panel || s->m_panelBehavior != PanelBehavior::AutoHide) {
wl_resource_post_error(s->resource, ORG_KDE_PLASMA_SURFACE_ERROR_PANEL_NOT_AUTO_HIDE, "Not an auto hide panel");
return;
}
emit s->q_func()->panelAutoHideShowRequested();
}
示例10: CHECK_SIZE_EQUALS
QModbusResponse QModbusServerPrivate::processMaskWriteRegisterRequest(const QModbusRequest &request)
{
CHECK_SIZE_EQUALS(request);
quint16 address, andMask, orMask;
request.decodeData(&address, &andMask, &orMask);
quint16 reg;
if (!q_func()->data(QModbusDataUnit::HoldingRegisters, address, ®)) {
return QModbusExceptionResponse(request.functionCode(),
QModbusExceptionResponse::IllegalDataAddress);
}
const quint16 result = (reg & andMask) | (orMask & (~ andMask));
if (!q_func()->setData(QModbusDataUnit::HoldingRegisters, address, result)) {
return QModbusExceptionResponse(request.functionCode(),
QModbusExceptionResponse::ServerDeviceFailure);
}
return QModbusResponse(request.functionCode(), request.data());
}
示例11: prepareDeviceResource
bool prepareDeviceResource() {
gc = XCreateGC(display, q_func().winId(), 0, 0);
if (!gc) {
available = false;
qCritical("Create GC failed!");
return false;
}
XSetBackground(display, gc, BlackPixel(display, DefaultScreen(display)));
return true;
}
示例12: Q_Q
void QKeySequenceWidgetPrivate::init(const QKeySequence keySeq, const QString noneStr)
{
Q_Q(QKeySequenceWidget);
Q_UNUSED(q);
layout = new QHBoxLayout(q_func());
layout->setMargin(0);
layout->setSpacing(1);
clearButton = new QToolButton(q_func());
clearButton->setText("x");
layout->addWidget(clearButton);
shortcutButton = new QShortcutButton(this, q_func());
if (noneStr.isNull() == true)
{
noneSequenceText = "...";
}
else
{
noneSequenceText = noneStr;
}
q_ptr->clearKeySequence();
currentSequence = keySeq;
shortcutButton->setFocusPolicy(Qt::StrongFocus);
layout->addWidget(shortcutButton);
showClearButton = QKeySequenceWidget::ShowRight;
clearButton->setIcon(QIcon::fromTheme("dialog-cancel", QIcon(":/icons/dialog-cancel.png")));
// unfocused clear button afyer created (small hack)
clearButton->setFocusPolicy(Qt::NoFocus);
// update ui
updateDisplayShortcut();
updateView();
}
示例13: ensureFlushed
inline bool QFilePrivate::ensureFlushed() const
{
// This function ensures that the write buffer has been flushed (const
// because certain const functions need to call it.
if (lastWasWrite) {
const_cast<QFilePrivate *>(this)->lastWasWrite = false;
if (!const_cast<QFile *>(q_func())->flush())
return false;
}
return true;
}
示例14: install
bool BTranslatorPrivate::install()
{
if (installed)
return true;
if (!loaded && !q_func()->load())
return false;
foreach (QTranslator *t, translators)
QCoreApplication::installTranslator(t);
installed = true;
return true;
}
示例15: setBaudRate
void QextSerialPortPrivate::setPortSettings(const PortSettings &settings, bool update)
{
setBaudRate(settings.BaudRate, false);
setDataBits(settings.DataBits, false);
setStopBits(settings.StopBits, false);
setParity(settings.Parity, false);
setFlowControl(settings.FlowControl, false);
setTimeout(settings.Timeout_Millisec, false);
settingsDirtyFlags = DFE_ALL;
if (update && q_func()->isOpen())
updatePortSettings();
}