connect: Tidak ada slot seperti itu

iklan4d slot

JPSLOT

988 bet

SCORE88

connect: Tidak ada slot seperti itu

Lillith Halo, saya sedang mencoba membangun grafis sendiri karena saya ingin menambahkan lineEdits baru secara acak. Sekarang saya memiliki masalah dengan connect. Mungkin Anda bisa memberi tahu saya apa yang salah saya lakukan.

mainwindow:

#include "mainwindow.h" MainWindow::MainWindow(QWidget *parent):QMainWindow(parent) { QPushButton* addButton = new QPushButton; QPushButton* deleteButton = new QPushButton; addButton->setText("ADD"); deleteButton->setText("DELETE"); connect(addButton, SIGNAL(clicked()), this, SLOT(addButton_clicked())); connect(deleteButton, SIGNAL(clicked()), this, SLOT(deleteButton_clicked())); }

Dan pada bagian connect saya selalu mendapatkan pesan error: QObject::connect: No such slot MainWindow::addButton_clicked() Hal yang sama juga dengan deleteButton. Di mana letak kesalahan saya? Terima kasih sebelumnya.

daddy_felix Tunjukkan headernya.

Braunstein Pesan itu cukup jelas. Fungsi untuk slot tidak ada. Anda harus menulisnya sendiri. Tombol Anda saat ini juga tidak memiliki parent dan tidak terikat dalam layout. Itu juga harus dilakukan.

Lillith Tombol sudah terikat. Saya tidak menuliskan semuanya karena saya pikir tidak relevan. Header saya:

#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <vector> #include <QLineEdit> #include <QPushButton> #include <QVBoxLayout> #include <QHBoxLayout> #include <iostream> #include <QList> using namespace std; class MainWindow:public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget* parent = 0); ~MainWindow(); void addButton_clicked(); void deleteButton_clicked(); private: QVBoxLayout* layout; QList<QLineEdit*> qlist; }; #endif // MAINWINDOW_H

Dan agar tidak ada kesalahpahaman, berikut file cpp yang lengkap:

#include "mainwindow.h" MainWindow::MainWindow(QWidget *parent):QMainWindow(parent) { QWidget* window = new QWidget(this); QVBoxLayout* mainlayout = new QVBoxLayout; layout = new QVBoxLayout; QHBoxLayout* buttonlayout = new QHBoxLayout; QPushButton* addButton = new QPushButton; QPushButton* deleteButton = new QPushButton; addButton->setText("ADD"); deleteButton->setText("DELETE"); buttonlayout->addWidget(addButton); buttonlayout->addWidget(deleteButton); buttonlayout->setAlginment(Qt::AlignTop); mainlayout->addLayout(layout); mainlayout->addLayout(buttonlayout); window->setLayout(mainlayout); setCentralWidget(window); connect(addButton, SIGNAL(clicked()), this, SLOT(addButton_clicked())); connect(deleteButton, SIGNAL(clicked()), this, SLOT(deleteButton_clicked())); } MainWindow::~MainWindow(){} void MainWindow::addButton_clicked() { QLineEdit* lineEdit = new QLineEdit; qlist_back(lineEdit); layout->addWidget(lineEdit); lineEdit->setObjectName("lineedit"+QString::number(qlist())); }

Ini semua yang saya miliki sejauh ini. Terima kasih.

firefly Metode Anda untuk tombol tidak dideklarasikan sebagai SLOT. Lihat contoh bagaimana model signal/slot di Qt bekerja: http://qt

Lillith Baru saya tulis dan tiba-tiba berfungsi (dalam arti sebenarnya) :) Saya lupa menempatkannya di header di bawah private slots dan tiba-tiba berfungsi... Terima kasih banyak atas bantuannya!

Lillith Ya firefly, jika saya biarkan Qt membuatnya secara otomatis, dia melakukannya sendiri... Saya lupa sekarang. Terima kasih tetap.

qobject connect no such slot

▲ Kembali ke atas

Platform Lainnya

agen 5000 slot

slot isa

republik 777 slot

yoda4d slot

Berita Piala Dunia

cherry casino v2

skycrown online casino

SELOTJITU

bocil slot login

Jika Anda memiliki pertanyaan, silakan kirim email ke [email protected]

▲ Kembali ke atas