【发布时间】:2015-05-29 05:12:52
【问题描述】:
我有一个带有按钮的小部件。我希望,每次单击按钮时,都应在小部件中添加一个标签。我在下面给出代码,但不工作。我不知道为什么。有人帮帮我吗?
class EditThingsWindow:public QWidget
{
Q_OBJECT
QPushButton * add;
public:
EditThingsWindow();
public slots:
void addButtonClicked();
};
EditThingsWindow::EditThingsWindow():QWidget()
{
QWidget* wid = this;
wid->resize(400,400);
add=new QPushButton(wid);
add->setText("Add");
add->move(20,10);
line=new QLineEdit(wid);
line->move(30,50);
QObject::connect(add,SIGNAL(clicked()),this,SLOT(addButtonClicked()));
}
void EditThingsWindow::addButtonClicked()
{
QLabel* label = new QLabel(this);
label->move(200,160);
label->setText(";;;;;;;;;;;;;;");
}
【问题讨论】:
-
我在实际中尝试过。它有效。
-
@Max 正如 Fred 所说(下),在我调用 label->show() 之后,它工作正常。
-
注意;如果要“嵌入”到另一个窗口中,则不需要调用 .show() 来使小部件出现。相反,请确保在实例化新小部件时将 Window 作为父参数添加。在没有父窗口小部件的情况下调用 .show() 将导致在新窗口中出现浮动窗口小部件。 (刚遇到同样的问题)
标签: c++ user-interface qt