本文整理汇总了C++中Media::setWidth方法的典型用法代码示例。如果您正苦于以下问题:C++ Media::setWidth方法的具体用法?C++ Media::setWidth怎么用?C++ Media::setWidth使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Media
的用法示例。
在下文中一共展示了Media::setWidth方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parse
/// \cond
void QXmppDataForm::parse(const QDomElement &element)
{
if (element.isNull())
return;
/* form type */
const QString typeStr = element.attribute("type");
if (typeStr == "form")
d->type = QXmppDataForm::Form;
else if (typeStr == "submit")
d->type = QXmppDataForm::Submit;
else if (typeStr == "cancel")
d->type = QXmppDataForm::Cancel;
else if (typeStr == "result")
d->type = QXmppDataForm::Result;
else
{
qWarning() << "Unknown form type" << typeStr;
return;
}
/* form properties */
d->title = element.firstChildElement("title").text();
d->instructions = element.firstChildElement("instructions").text();
QDomElement fieldElement = element.firstChildElement("field");
while (!fieldElement.isNull())
{
QXmppDataForm::Field field;
/* field type */
QXmppDataForm::Field::Type type = QXmppDataForm::Field::TextSingleField;
const QString typeStr = fieldElement.attribute("type");
struct field_type *ptr;
for (ptr = field_types; ptr->str; ptr++)
{
if (typeStr == ptr->str)
{
type = ptr->type;
break;
}
}
field.setType(type);
/* field attributes */
field.setLabel(fieldElement.attribute("label"));
field.setKey(fieldElement.attribute("var"));
/* field value(s) */
if (type == QXmppDataForm::Field::BooleanField)
{
const QString valueStr = fieldElement.firstChildElement("value").text();
field.setValue(valueStr == "1" || valueStr == "true");
}
else if (type == QXmppDataForm::Field::ListMultiField ||
type == QXmppDataForm::Field::JidMultiField ||
type == QXmppDataForm::Field::TextMultiField)
{
QStringList values;
QDomElement valueElement = fieldElement.firstChildElement("value");
while (!valueElement.isNull())
{
values.append(valueElement.text());
valueElement = valueElement.nextSiblingElement("value");
}
field.setValue(values);
}
else
{
field.setValue(fieldElement.firstChildElement("value").text());
}
/* field media */
QDomElement mediaElement = fieldElement.firstChildElement("media");
if (!mediaElement.isNull()) {
Media media;
media.setHeight(mediaElement.attribute("height", "-1").toInt());
media.setWidth(mediaElement.attribute("width", "-1").toInt());
QList<QPair<QString, QString> > uris;
QDomElement uriElement = mediaElement.firstChildElement("uri");
while (!uriElement.isNull()) {
uris.append(QPair<QString, QString>(uriElement.attribute("type"),
uriElement.text()));
uriElement = uriElement.nextSiblingElement("uri");
}
media.setUris(uris);
field.setMedia(media);
}
/* field options */
if (type == QXmppDataForm::Field::ListMultiField ||
type == QXmppDataForm::Field::ListSingleField)
{
QList<QPair<QString, QString> > options;
QDomElement optionElement = fieldElement.firstChildElement("option");
while (!optionElement.isNull())
{
options.append(QPair<QString, QString>(optionElement.attribute("label"),
//.........这里部分代码省略.........