2

我几乎是 Qt 的初学者。无论如何,一旦按下按钮,我就会尝试使用信号和插槽来显示小部件。我创建了小部件,并完成了 connect() 事情,但是我在 SLOT() 事情中放了什么?我试过 show(widget),但老实说我不知道​​该放什么。

4

1 回答 1

6

QWidget有一个名为show()的公共插槽。您可以将按钮的clicked()信号连接到小部件的show()插槽。在此处阅读有关信号和插槽的更多信息

例子:

QPushButton *button = new QPushButton(this);
QWidget *widget = new QWidget(this);
widget->setWindowFlags(Qt::Window);
connect(button, SIGNAL(clicked()), widget, SLOT(show()));

您还可以创建自己的插槽并widget->show()从那里调用。然后将按钮的clicked()信号连接到您的插槽。

例子:

//myclass.h
...
public:
   QWidget *myWidget;

public slots:
   void mySlot();

 

//myclass.cpp
...
   connect(button, SIGNAL(clicked()), this, SLOT(mySlot()));
...

void MyClass::mySlot()
{
   myWidget->show();
}
于 2013-08-22T06:54:09.673 回答