当前位置: 首页>>代码示例>>C++>>正文


C++ QLabel::property方法代码示例

本文整理汇总了C++中QLabel::property方法的典型用法代码示例。如果您正苦于以下问题:C++ QLabel::property方法的具体用法?C++ QLabel::property怎么用?C++ QLabel::property使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在QLabel的用法示例。


在下文中一共展示了QLabel::property方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: onParameterLabelContextMenuRequested

void ShaderParamsDialog::onParameterLabelContextMenuRequested(const QPoint&)
{
   QLabel *label = NULL;
   QPointer<QAction> action;
   QList<QAction*> actions;
   QScopedPointer<QAction> resetParamAction;
   QVariant paramVariant;
   QString parameter;

   label = qobject_cast<QLabel*>(sender());

   if (!label)
      return;

   paramVariant = label->property("parameter");

   if (!paramVariant.isValid())
      return;

   parameter = paramVariant.toString();

   resetParamAction.reset(new QAction(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_QT_RESET_PARAMETER), 0));

   actions.append(resetParamAction.data());

   action = QMenu::exec(actions, QCursor::pos(), NULL, label);

   if (!action)
      return;

   if (action == resetParamAction.data())
   {
      onShaderResetParameter(parameter);
   }
}
开发者ID:DSkywalk,项目名称:RetroArch,代码行数:35,代码来源:shaderparamsdialog.cpp

示例2: AddDouble

void ParamWidget::AddDouble(const QString& name,
    double min, double max, double step, double initial_value,
    DisplayHint display_hint) {
  ExpectNameNotFound(name);

  if (display_hint == DisplayHint::kSpinBox) {
    QDoubleSpinBox* spinbox = new QDoubleSpinBox(this);
    spinbox->setRange(min, max);
    spinbox->setSingleStep(step);
    spinbox->setValue(initial_value);
    spinbox->setProperty("param_widget_type", kParamDouble);
    widgets_[name] = spinbox;
    AddLabeledRow(name, spinbox);
    connect(spinbox,
        static_cast<void(QDoubleSpinBox::*)(double)>(
          &QDoubleSpinBox::valueChanged),
        [this, name](double value) {
          emit ParamChanged(name);
        });
  } else if (display_hint == DisplayHint::kSlider) {
    QWidget* row_widget = new QWidget(this);
    QHBoxLayout* row_hbox = new QHBoxLayout(row_widget);
    QSlider* slider = new QSlider(Qt::Horizontal, this);
    const int num_steps = static_cast<int>((max - min) / step);
    const int initial_value_int =
      static_cast<int>((initial_value - min) / step);
    slider->setRange(0, num_steps);
    slider->setSingleStep(1);
    slider->setValue(initial_value_int);
    slider->setProperty("min", min);
    slider->setProperty("max", max);
    slider->setProperty("step", step);
    slider->setProperty("param_widget_type", kParamDouble);
    QLabel* label = new QLabel(this);
    label->setText(QString::number((initial_value_int - min) * step));
    row_hbox->addWidget(new QLabel(name, this));
    row_hbox->addWidget(slider);
    row_hbox->addWidget(label);
    widgets_[name] = slider;
    layout_->addWidget(row_widget);
    slider->setProperty("param_widget_label", QVariant::fromValue(label));
    label->setProperty("format_str", "");
    connect(slider, &QSlider::valueChanged,
        [this, name, label, min, step](int position) {
          const double value = min + step * position;
          const QString format_str = label->property("format_str").toString();
          if (format_str == "") {
            label->setText(QString::number(value));
            label->setMinimumWidth(std::max(label->width(), label->minimumWidth()));
          } else {
            QString text;
            text.sprintf(format_str.toStdString().c_str(), value);
            label->setText(text);
          }
          emit ParamChanged(name);
        });
  } else {
    throw std::invalid_argument("Invalid display hint");
  }
}
开发者ID:ashuang,项目名称:sceneview,代码行数:60,代码来源:param_widget.cpp

示例3: mousePressEvent

void DragDropArea::mousePressEvent(QMouseEvent *event)
{
    QLabel *child = static_cast<QLabel*>(childAt(event->pos()));
    if (!child)
        return;

    // Only drag children with dynamic property: "drag"
    if (!child->property("drag").toBool())
        return;

    QPoint hotSpot = event->pos() - child->pos();

    QMimeData *mimeData = new QMimeData;
    mimeData->setText(child->text());
    mimeData->setData("application/x-hotspot",
                      QByteArray::number(hotSpot.x())
                      + " " + QByteArray::number(hotSpot.y()));

    QPixmap pixmap(child->size());
    child->render(&pixmap);

    QDrag *drag = new QDrag(this);
    drag->setMimeData(mimeData);
    drag->setPixmap(pixmap);
    drag->setHotSpot(hotSpot);
    drag->exec();
}
开发者ID:arielmr,项目名称:SofiaTrigo,代码行数:27,代码来源:dragdroparea.cpp

示例4: fsw_customContextMenuRequested

void CustomFunctionsPanel::fsw_customContextMenuRequested(QPoint pos)
{
    QLabel *label = (QLabel *)sender();
    selectedFunction = label->property("index").toInt();

    QPoint globalPos = label->mapToGlobal(pos);

    const QClipboard *clipboard = QApplication::clipboard();
    const QMimeData *mimeData = clipboard->mimeData();
    bool hasData = mimeData->hasFormat("application/x-companion-fsw");

    QMenu contextMenu;
    contextMenu.addAction(CompanionIcon("copy.png"), tr("&Copy"),this,SLOT(fswCopy()),tr("Ctrl+C"));
    contextMenu.addAction(CompanionIcon("cut.png"), tr("&Cut"),this,SLOT(fswCut()),tr("Ctrl+X"));
    contextMenu.addAction(CompanionIcon("paste.png"), tr("&Paste"),this,SLOT(fswPaste()),tr("Ctrl+V"))->setEnabled(hasData);
    contextMenu.addAction(CompanionIcon("clear.png"), tr("&Delete"),this,SLOT(fswDelete()),tr("Delete"));

    contextMenu.exec(globalPos);
}
开发者ID:mcules,项目名称:opentx,代码行数:19,代码来源:customfunctions.cpp

示例5: changeSyntaxElementColor

void PreferencesDialog::changeSyntaxElementColor(int ElementRow)
{
  QLabel* StyleNameLabel = qobject_cast<QLabel*>(ui->SyntaxGridLayout->itemAtPosition(ElementRow,0)->widget());
  QString ColorName = StyleNameLabel->property("ColorName").toString();

  QColor Color = QColorDialog::getColor(QColor(ColorName),this);

  // Cancel on QColorDialog returns an invalid Color
  if(Color.isValid())
  {
    QString NewColorName = Color.name();

    StyleNameLabel->setProperty("ColorName",NewColorName);

    changeSyntaxElementDecoration(ElementRow);

    m_TextEditorSettingsChanged = true;
  }

}
开发者ID:fabrejc,项目名称:travis-test,代码行数:20,代码来源:PreferencesDialog.cpp

示例6: changeSyntaxElementDecoration

void PreferencesDialog::changeSyntaxElementDecoration(int ElementRow)
{
  QLabel* StyleNameLabel = qobject_cast<QLabel*>(ui->SyntaxGridLayout->itemAtPosition(ElementRow,0)->widget());
  QString StyleName = StyleNameLabel->text();

  QStringList Decorations;
  int col = 1;
  for(const QString& Format : m_Formats)
  {
    if(qobject_cast<QCheckBox*>(ui->SyntaxGridLayout->itemAtPosition(ElementRow,col)->widget())->isChecked())
      Decorations << Format;

    col ++;
  }
  QString ColorName = StyleNameLabel->property("ColorName").toString();

  openfluid::base::PreferencesManager* PrefMgr = openfluid::base::PreferencesManager::instance();
  openfluid::base::PreferencesManager::SyntaxHighlightingRules_t Rules = PrefMgr->getWaresdevSyntaxHighlightingRules();
  openfluid::base::PreferencesManager::SyntaxHighlightingRules_t::iterator it = Rules.find(StyleName);
  if(it != Rules.end())
  {
    it->m_Decoration = Decorations;
    it->m_Color = ColorName;
  }
  else
    Rules.insert(StyleName, openfluid::base::PreferencesManager::SyntaxHighlightingRule_t(ColorName,Decorations));
  openfluid::base::PreferencesManager::instance()->setWaresdevSyntaxHighlightingRules(Rules);

  updateSyntaxElementLabel(StyleNameLabel, Decorations,ColorName);

  QToolButton* ColorButton = qobject_cast<QToolButton*>(
      ui->SyntaxGridLayout->itemAtPosition(ElementRow, m_Formats.size() + 1)->widget());
  updateSyntaxElementColorButton(ColorButton, ColorName);

  m_TextEditorSettingsChanged = true;
}
开发者ID:fabrejc,项目名称:travis-test,代码行数:36,代码来源:PreferencesDialog.cpp

示例7: updateNetworkInterfaces

void SettingsWidget::updateNetworkInterfaces(const Protos::GUI::State& state)
{
    this->disconnectAllAddressButtons();

    QList<QLabel*> interfaceNotUpdated = this->ui->scoInterfacesContent->findChildren<QLabel*>("");

    for (int i = 0; i < state.interface_size(); i++)
    {
        const QString& interfaceName = Common::ProtoHelper::getStr(state.interface(i), &Protos::Common::Interface::name);

        for (QListIterator<QObject*> j(this->ui->scoInterfacesContent->children()); j.hasNext();)
        {
            QLabel* lblInterface = dynamic_cast<QLabel*>(j.next());
            if (lblInterface && lblInterface->property("id").toUInt() == state.interface(i).id())
            {
                interfaceNotUpdated.removeOne(lblInterface);
                lblInterface->setText(interfaceName + (state.interface(i).isup() ? "" : " <img src= \":/icons/ressources/error.png\" /> <em>" + tr("Interface not active") + "</em>"));
                this->updateAddresses(state.interface(i), static_cast<QWidget*>(j.next()));
                goto nextInterface;
            }
        }

        {
            // Interface not found -> add a new one.
            QLabel* label = new QLabel(interfaceName, this->ui->scoInterfacesContent);
            label->setProperty("id", state.interface(i).id());
            this->ui->layInterfaces->addWidget(label);
            QWidget* addressesContainer = new QWidget(this->ui->scoInterfacesContent);
            this->ui->layInterfaces->addWidget(addressesContainer);
            this->updateAddresses(state.interface(i), addressesContainer);
        }

nextInterface:
        ;
    }

    // Remove the non-existant interfaces.
    for (QListIterator<QObject*> i(this->ui->scoInterfacesContent->children()); i.hasNext();)
    {
        QLabel* current = dynamic_cast<QLabel*>(i.next());
        if (current && interfaceNotUpdated.contains(current))
        {
            this->ui->layInterfaces->removeWidget(current);
            QWidget* addressesContainer = dynamic_cast<QWidget*>(i.next());
            this->ui->layInterfaces->removeWidget(addressesContainer);
            delete current;
            delete addressesContainer;
        }
    }

    // Set the current address.
    if (state.has_listenany())
    {
        if (state.listenany() == Protos::Common::Interface::Address::IPv6)
            this->ui->radIPv6->setChecked(true);
        else
            this->ui->radIPv4->setChecked(true);
    }

    this->connectAllAddressButtons();
}
开发者ID:hmartinet,项目名称:D-LAN,代码行数:61,代码来源:SettingsWidget.cpp


注:本文中的QLabel::property方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。