首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用QToolButton

如何使用QToolButton
EN

Stack Overflow用户
提问于 2013-10-09 14:24:05
回答 1查看 3K关注 0票数 1

我正在尝试使用QToolBar创建一个下拉按钮。我尝试使用以下策略来做到这一点:

http://qt-project.org/forums/viewthread/5377

问题是,当我单击按钮时,按钮不会立即响应。需要几次单击才能使菜单出现。

我想我把代码放错地方了,但我还应该把它放哪儿呢?

这是我的代码:

代码语言:javascript
复制
Proto::Proto(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Proto)
{
 ui->setupUi(this);
 QMenu *menu = new QMenu("Menu");
 QWidgetAction *action = new QWidgetAction(this);
 QPushButton *button2 = new QPushButton("Click me", menu);
 action->setDefaultWidget(button2);
 menu->addAction(action);
 ui->btnVolume->setMenu(menu);
}

拜托有人能帮我吗?提前谢谢你,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-09 15:12:31

似乎您忘记将按钮连接到一个插槽(或者至少,它没有显示在您发布的代码中)。我刚才添加了这样的connect()语句

代码语言:javascript
复制
QPushButton *button2 = new QPushButton("Click me", menu);

connect(button2, SIGNAL(clicked()), SLOT(dosmth()));

action->setDefaultWidget(button2);

然后实现了这个简单的dosmth() Q_SLOT

代码语言:javascript
复制
void MainWindow::dosmth() {
    qDebug() << "Hi";
}

每次点击按钮,我就会在控制台上看到这个:

代码语言:javascript
复制
Hi
Hi
Hi
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19274759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档