Программно сделать QToolButton идентичным Qt Designer

Мне нужно сделать QToolButton, который выглядит точно так же, как QToolButton по умолчанию, который вы получаете, когда перетаскиваете его в свою форму в Qt Designer. Просто создайте QToolButton следующим образом:

QToolButton *toolButton = new QToolButton(this)

не работает. Вы получаете кнопку, но у нее нет фона (хотя она отображает текст). Я попытался создать QToolButton в файле пользовательского интерфейса для копирования, но вы не можете скопировать его, это просто невозможно.

Любые идеи о том, как выполнить что-то такое простое?!


person oggmonster    schedule 18.08.2011    source источник
comment
Увы, похоже, это унаследованная таблица стилей, которая делает свое дело. Я нашел его в сгенерированном файле ui_Class.h.   -  person oggmonster    schedule 18.08.2011


Ответы (1)


У меня это работает, но вам нужно установить на нем геометрию/текст.

вы можете посмотреть в файле, сгенерированном UIC, в вашем файле пользовательского интерфейса с примером QToolButton, чтобы увидеть, чего вам не хватает.

Удостоверьтесь, что кнопка имеет правильный родитель — это может привести к странному рисунку, если он неправильный.

e.g:

QToolButton* tb = new QToolButton(ui.centralWidget);
tb->setGeometry(QRect(10, 40, 25, 19));
tb->setText("...");
person Pete    schedule 18.08.2011