QT-多个定义
QT - multiple definitions
我无法编译此QT程序,因为我收到了关于"`Dialog::status(QString const&)'的多重定义"的消息
有一些代码:对话框:
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
//class QCheckBox;
class QLabel;
class QLineEdit;
class QPushButton;
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = 0);
signals:
void status(const QString &str);
private slots:
void on();
private:
QLabel *label;
QLineEdit *LineEdit;
QPushButton *button;
};
#endif // DIALOG_H
和实现文件:
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QHBoxLayout>
#include "dialog.h"
Dialog::Dialog(QWidget *parent) : QDialog(parent)
{
label = new QLabel("Ne label");
LineEdit = new QLineEdit();
button = new QPushButton("Push me");
QHBoxLayout *layout = new QHBoxLayout();
layout->addWidget(label);
layout->addWidget(LineEdit);
layout->addWidget(button);
setLayout(layout);
setWindowTitle("Dialog name");
connect(button, SIGNAL(clicked()), this, SLOT(on()));
}
void Dialog::on()
{
label->setStyleSheet("QLabel { background-color : black; color : white; }");
}
void Dialog::status(const QString &str)
{
}
项目文件看起来不错:
QT += gui declarative
SOURCES +=
main.cpp
dialog.cpp
HEADERS +=
dialog.h
谢谢你的帮助。
您将状态函数声明为一个信号,然后为其实现一个主体。信号只是一个信号而没有实现。
根据您的意图,您需要移除状态函数的主体实现,或者将声明移动为槽,而不是信号。
相关文章:
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- 使用QJsEngine在Qt中注册自定义类型
- Qt自定义QPush按钮未显示在布局上
- 如何在QT中的自定义视频小工具t上绘制矩形
- 我无法在 qt 的C++代码中定义字符串
- Qt - QVector 和模型视图 - 从列表视图获取自定义类的最佳方法是什么?
- 从 ParaView 构建自定义 Qt 应用程序示例时出错
- 处理自定义QT小部件中的输入事件
- 尝试在自定义 QT 创建器文本编辑器中创建查找和替换循环.我似乎无法设置光标位置
- shiboken2和自定义QT小部件
- 如何自定义QT,因此它在每个新的CPPF文件中添加了某些功能
- 动态地将自定义 qt 小部件添加到框架中,而无需每次都更改布局
- 我可以为我的自定义Qt UI元素定义自定义CSS/QSS属性吗?
- 在 Windows 上使用 CMake 2.8.11 构建自定义 Qt 4.8.3 库时出错
- 在滚动区使用自定义Qt类,并强制不调整元素的大小,但滚动条出现
- 如何使用自定义Qt c++类型与QML插槽
- 如何重新定义Qt Creator创建getter和setter函数的方式
- 完全自定义Qt创建器编码风格
- 自定义 Qt 库类
- 自定义QT QTreeView与自定义小部件