我正在尝试使用QToolBar创建一个下拉按钮。我尝试使用以下策略来做到这一点:
http://qt-project.org/forums/viewthread/5377
问题是,当我单击按钮时,按钮不会立即响应。需要几次单击才能使菜单出现。
我想我把代码放错地方了,但我还应该把它放哪儿呢?
这是我的代码:
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);
}拜托有人能帮我吗?提前谢谢你,
发布于 2013-10-09 15:12:31
似乎您忘记将按钮连接到一个插槽(或者至少,它没有显示在您发布的代码中)。我刚才添加了这样的connect()语句
QPushButton *button2 = new QPushButton("Click me", menu);
connect(button2, SIGNAL(clicked()), SLOT(dosmth()));
action->setDefaultWidget(button2);然后实现了这个简单的dosmth() Q_SLOT
void MainWindow::dosmth() {
qDebug() << "Hi";
}每次点击按钮,我就会在控制台上看到这个:
Hi
Hi
Hihttps://stackoverflow.com/questions/19274759
复制相似问题