1

Qtで最初のステップのプログラミングを開始しましたが、答えが見つかりません。私はいくつかのウィジェットを持っています、それが「タブ」という名前だとしましょう。そのレイアウトに新しいウィジェットを追加したいと思います。私は書くことによってそれを行うことができます:

QLabel *label = new QLabel(tab);

同じことをしたいのですが、「タブ」と言う代わりに、QString変数に格納されているウィジェット名を使用したいと思います。このようなもの(ただし、機能せず、QStringをQWidgetに変換できません):

QString name = "tab";
QLabel *label = new label(zakladka);

出来ますか?

4

1 に答える 1

3

QObjectにはプロパティがありますobjectName。したがって、オブジェクトに名前を付けて、それらをQObjectの階層の一部にする場合(つまり、オブジェクトが親オブジェクトの子であることがわかっている場合)、findChildを利用できます。

QLabel* label = new QLabel(parentWidget->findChild(name));
于 2012-05-24T17:42:05.263 に答える