本文整理汇总了C++中QLabel::buddy方法的典型用法代码示例。如果您正苦于以下问题:C++ QLabel::buddy方法的具体用法?C++ QLabel::buddy怎么用?C++ QLabel::buddy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QLabel
的用法示例。
在下文中一共展示了QLabel::buddy方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: buddies
void tst_QFormLayout::buddies()
{
QWidget *w = new QWidget;
QFormLayout *fl = new QFormLayout(w);
//normal buddy case
QLineEdit *le = new QLineEdit;
fl->addRow(tr("Label 1"), le);
QLabel *label = qobject_cast<QLabel *>(fl->labelForField(le));
QVERIFY(label);
QWidget *lew = le;
QCOMPARE(label->buddy(), lew);
//null label
QLineEdit *le2 = new QLineEdit;
fl->addRow(0, le2);
QWidget *label2 = fl->labelForField(le2);
QVERIFY(label2 == 0);
//no label
QLineEdit *le3 = new QLineEdit;
fl->addRow(le3);
QWidget *label3 = fl->labelForField(le3);
QVERIFY(label3 == 0);
//TODO: empty label?
delete w;
}
示例2: relationTo
/*! \reimp */
QAccessible::Relation QAccessibleDisplay::relationTo(int child, const QAccessibleInterface *other,
int otherChild) const
{
Relation relation = QAccessibleWidgetEx::relationTo(child, other, otherChild);
if (child || otherChild)
return relation;
QObject *o = other->object();
QLabel *label = qobject_cast<QLabel*>(object());
if (label) {
#ifndef QT_NO_SHORTCUT
if (o == label->buddy())
relation |= Label;
#endif
}
return relation;
}
示例3: text
QString QAccessibleDisplay::text(QAccessible::Text t) const
{
QString str;
switch (t) {
case QAccessible::Name:
str = widget()->accessibleName();
if (str.isEmpty()) {
if (qobject_cast<QLabel*>(object())) {
QLabel *label = qobject_cast<QLabel*>(object());
str = label->text();
#ifndef QT_NO_TEXTHTMLPARSER
if (label->textFormat() == Qt::RichText
|| (label->textFormat() == Qt::AutoText && Qt::mightBeRichText(str))) {
QTextDocument doc;
doc.setHtml(str);
str = doc.toPlainText();
}
#endif
if (label->buddy())
str = qt_accStripAmp(str);
#ifndef QT_NO_LCDNUMBER
} else if (qobject_cast<QLCDNumber*>(object())) {
QLCDNumber *l = qobject_cast<QLCDNumber*>(object());
if (l->digitCount())
str = QString::number(l->value());
else
str = QString::number(l->intValue());
#endif
} else if (qobject_cast<QStatusBar*>(object())) {
return qobject_cast<QStatusBar*>(object())->currentMessage();
}
}
break;
case QAccessible::Value:
#ifndef QT_NO_PROGRESSBAR
if (qobject_cast<QProgressBar*>(object()))
str = QString::number(qobject_cast<QProgressBar*>(object())->value());
#endif
break;
default:
break;
}
if (str.isEmpty())
str = QAccessibleWidget::text(t);
return str;
}
示例4: navigate
/*! \reimp */
int QAccessibleDisplay::navigate(RelationFlag rel, int entry, QAccessibleInterface **target) const
{
*target = 0;
if (rel == Labelled) {
QObject *targetObject = 0;
QLabel *label = qobject_cast<QLabel*>(object());
if (label) {
#ifndef QT_NO_SHORTCUT
if (entry == 1)
targetObject = label->buddy();
#endif
}
*target = QAccessible::queryAccessibleInterface(targetObject);
if (*target)
return 0;
}
return QAccessibleWidgetEx::navigate(rel, entry, target);
}
示例5: if
/*! \reimp */
QAccessible::Relation Q3AccessibleDisplay::relationTo(int child, const QAccessibleInterface *other,
int otherChild) const
{
Relation relation = QAccessibleWidget::relationTo(child, other, otherChild);
if (child || otherChild)
return relation;
QObject *o = other->object();
QLabel *label = qobject_cast<QLabel*>(object());
Q3GroupBox *groupbox = qobject_cast<Q3GroupBox*>(object());
if (label) {
if (o == label->buddy())
relation |= Label;
} else if (groupbox && !groupbox->title().isEmpty()) {
if (groupbox->children().contains(o))
relation |= Label;
}
return relation;
}
示例6: navigate
/*! \reimp */
int Q3AccessibleDisplay::navigate(RelationFlag rel, int entry, QAccessibleInterface **target) const
{
*target = 0;
if (rel == Labelled) {
QObject *targetObject = 0;
QLabel *label = qobject_cast<QLabel*>(object());
Q3GroupBox *groupbox = qobject_cast<Q3GroupBox*>(object());
if (label) {
if (entry == 1)
targetObject = label->buddy();
} else if (groupbox && !groupbox->title().isEmpty()) {
rel = Child;
}
*target = QAccessible::queryAccessibleInterface(targetObject);
if (*target)
return 0;
}
return QAccessibleWidget::navigate(rel, entry, target);
}
示例7: navigate
/*! \reimp */
int QAccessibleDisplay::navigate(RelationFlag rel, int entry, QAccessibleInterface **target) const
{
*target = 0;
if (rel == Labelled) {
QObject *targetObject = 0;
QLabel *label = qobject_cast<QLabel*>(object());
if (label) {
#ifndef QT_NO_SHORTCUT
if (entry == 1)
targetObject = label->buddy();
#endif
#ifndef QT_NO_GROUPBOX
} else {
QGroupBox *groupbox = qobject_cast<QGroupBox*>(object());
if (groupbox && !groupbox->title().isEmpty())
rel = Child;
#endif
}
*target = QAccessible::queryAccessibleInterface(targetObject);
if (*target)
return 0;
}
return QAccessibleWidgetEx::navigate(rel, entry, target);
}
示例8: relationTo
/*! \reimp */
QAccessible::Relation QAccessibleDisplay::relationTo(int child, const QAccessibleInterface *other,
int otherChild) const
{
Relation relation = QAccessibleWidgetEx::relationTo(child, other, otherChild);
if (child || otherChild)
return relation;
QObject *o = other->object();
QLabel *label = qobject_cast<QLabel*>(object());
if (label) {
#ifndef QT_NO_SHORTCUT
if (o == label->buddy())
relation |= Label;
#endif
#ifndef QT_NO_GROUPBOX
} else {
QGroupBox *groupbox = qobject_cast<QGroupBox*>(object());
if (groupbox && !groupbox->title().isEmpty())
if (groupbox->children().contains(o))
relation |= Label;
#endif
}
return relation;
}
示例9: buddyString
static QString buddyString(const QWidget *widget)
{
if (!widget)
return QString();
QWidget *parent = widget->parentWidget();
if (!parent)
return QString();
#ifndef QT_NO_SHORTCUT
QObjectList ol = parent->children();
for (int i = 0; i < ol.size(); ++i) {
QLabel *label = qobject_cast<QLabel*>(ol.at(i));
if (label && label->buddy() == widget)
return label->text();
}
#endif
#ifndef QT_NO_GROUPBOX
QGroupBox *groupbox = qobject_cast<QGroupBox*>(parent);
if (groupbox)
return groupbox->title();
#endif
return QString();
}
示例10: manageWidget
void AcceleratorManagerPrivate::manageWidget(QWidget *w, Item *item)
{
// first treat the special cases
QTabBar *tabBar = qobject_cast<QTabBar*>(w);
if (tabBar)
{
manageTabBar(tabBar, item);
return;
}
QStackedWidget *wds = qobject_cast<QStackedWidget*>( w );
if ( wds )
{
QWidgetStackAccelManager::manage( wds );
// return;
}
QDockWidget *dock = qobject_cast<QDockWidget*>( w );
if ( dock )
{
//QWidgetStackAccelManager::manage( wds );
manageDockWidget(dock, item);
}
QMenu *popupMenu = qobject_cast<QMenu*>(w);
if (popupMenu)
{
// create a popup accel manager that can deal with dynamic menus
PopupAccelManager::manage(popupMenu);
return;
}
QStackedWidget *wdst = qobject_cast<QStackedWidget*>( w );
if ( wdst )
{
QWidgetStackAccelManager::manage( wdst );
// return;
}
QMenuBar *menuBar = qobject_cast<QMenuBar*>(w);
if (menuBar)
{
manageMenuBar(menuBar, item);
return;
}
if (qobject_cast<QComboBox*>(w) || qobject_cast<QLineEdit*>(w) ||
w->inherits("Q3TextEdit") ||
qobject_cast<QTextEdit*>(w) ||
qobject_cast<QAbstractSpinBox*>(w) || w->inherits( "KMultiTabBar" ) )
return;
if ( w->inherits("KUrlRequester") ) {
traverseChildren(w, item);
return;
}
if ( qobject_cast<PathRequester*>(w) ) {
traverseChildren(w, item);
return;
}
// now treat 'ordinary' widgets
QLabel *label = qobject_cast<QLabel*>(w);
if ( label ) {
if ( !label->buddy() )
return;
else {
if ( label->textFormat() == Qt::RichText ||
( label->textFormat() == Qt::AutoText &&
Qt::mightBeRichText( label->text() ) ) )
return;
}
}
if (w->focusPolicy() != Qt::NoFocus || label || qobject_cast<QGroupBox*>(w) || qobject_cast<QRadioButton*>( w ))
{
QString content;
QVariant variant;
int tprop = w->metaObject()->indexOfProperty("text");
if (tprop != -1) {
QMetaProperty p = w->metaObject()->property( tprop );
if ( p.isValid() && p.isWritable() )
variant = p.read (w);
else
tprop = -1;
}
if (tprop == -1) {
tprop = w->metaObject()->indexOfProperty("title");
if (tprop != -1) {
QMetaProperty p = w->metaObject()->property( tprop );
if ( p.isValid() && p.isWritable() )
variant = p.read (w);
}
}
if (variant.isValid())
//.........这里部分代码省略.........