通过按下控制台窗口上的按钮删除创建的进度条
我试图学习自己使用QT,所以仍在挣扎很多...如何通过按删除按钮来删除弹跳对象?我正在努力实施删除功能...
MainWindow::MainWindow(QWidget * parent): QMainWindow(parent) {
setFixedSize(800, 600);
int start;
timer = new QTimer(this);
connect(timer , SIGNAL(timeout()), this, SLOT(step()));
timer -> setInterval(5);
timer -> start();
QPushButton * sillyLabel = new QPushButton(this);
connect(sillyLabel , SIGNAL(clicked()), this, SLOT(doSomethingSilly()));
sillyLabel -> setText("Spawn Object");
sillyLabel -> setGeometry(400, 400, 200, 50);
QPushButton * dLabel = new QPushButton(this);
connect(dLabel , SIGNAL(clicked()), this, SLOT(deleteSomethingSilly()));
dLabel -> setText("Delete Object");
dLabel -> setGeometry(200, 200, 200, 50);
MainWindow::~MainWindow() {
}
void MainWindow::doSomethingSilly() {
QProgressBar * sillyobject = new QProgressBar(this);
sillyobject -> setGeometry(400, 300, 80, 50);
sillyobject -> show();
sillyobject -> setValue(100);
bouncyobject.push_back(sillyobject);
}
void MainWindow::deleteSomethingSilly() {
delete ?;
}
I am trying to learn myself use Qt so still struggling a lot... How would I go about deleting my bouncing object by pressing the delete button? I am struggling to implement the delete function...
MainWindow::MainWindow(QWidget * parent): QMainWindow(parent) {
setFixedSize(800, 600);
int start;
timer = new QTimer(this);
connect(timer , SIGNAL(timeout()), this, SLOT(step()));
timer -> setInterval(5);
timer -> start();
QPushButton * sillyLabel = new QPushButton(this);
connect(sillyLabel , SIGNAL(clicked()), this, SLOT(doSomethingSilly()));
sillyLabel -> setText("Spawn Object");
sillyLabel -> setGeometry(400, 400, 200, 50);
QPushButton * dLabel = new QPushButton(this);
connect(dLabel , SIGNAL(clicked()), this, SLOT(deleteSomethingSilly()));
dLabel -> setText("Delete Object");
dLabel -> setGeometry(200, 200, 200, 50);
MainWindow::~MainWindow() {
}
void MainWindow::doSomethingSilly() {
QProgressBar * sillyobject = new QProgressBar(this);
sillyobject -> setGeometry(400, 300, 80, 50);
sillyobject -> show();
sillyobject -> setValue(100);
bouncyobject.push_back(sillyobject);
}
void MainWindow::deleteSomethingSilly() {
delete ?;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您必须将sillyobject在类标题内声明为私人指针(要在所有类成员内部访问),那么您只需删除指针以:
在您的标题文件中:
然后
:然后:
You have to declare sillyobject inside the class header as a private pointer (to have access inside all the class members), then you just have to delete the pointer with :
In your header file :
then
and :