Изменение имени виджета на основе строки, считанной из формы XML в Qt - PullRequest
0 голосов
/ 15 июня 2010

Я пишу код для машины для голосования, которая позволит пользователю читать в пользовательских бюллетенях XML и затем голосовать за них, однако в текущей сборке, которую я имею в QtCreator, я не вижу простого способа редактирования кнопок в моем графическом интерфейсе напрямую. В приведенном ниже фрагменте кода я назначаю элемент для извлечения имен и типа читаемых бюллетеней, но мне нужно добавить метку в графическом интерфейсе, а также кнопки изменения имен читаемых кандидатов. Любые идеи о том, как сделать это?

 while(!n.isNull()){
    QDomNode x = n.firstChildElement();
    QDomElement e = n.toElement();
    QMessageBox::information(0,
            tr( "Loading Element" ),
            tr( "Our element is %1" ).arg(e.tagName()) );
            QDomElement p = x.firstChildElement();//p finds Races
                 QMessageBox::information(0,tr("Foo"),tr("p = %1").arg(p.text()));//finds Race and Ballot types

            n = n.nextSibling();
}

}

1 Ответ

1 голос
/ 15 июня 2010

Все виджеты, созданные вами с помощью интерфейса дизайнера, доступны из вашего кода. Как получить к ним доступ, зависит от того, как вы связали свой пользовательский интерфейс с остальными классами (см. http://doc.qt.io/archives/4.6/designer-using-a-ui-file.html), но если вы используете подход множественного наследования, ваши виджеты и макеты будут доступны непосредственно из вашего класса, используя имя, под которым они появляются в Designer. Завершение Qt Creator будет даже работать с ними.

Имея это в виду, вы можете легко использовать обычные методы для изменения имени виджета, добавления метки к макету и т. Д.

Если это все еще неясно, пожалуйста, добавьте код, который вы используете для встраивания вашего GUI, так как он необходим для того, чтобы дать вам разумный пример кода.

...