问个关于QT中QDialog问题

用的是QT5.9.0的版本,在创建一个c++class的时候,自己定义了一个mydialog的类,像让他继承QDialog基类
,可是找不到QDialog类,然后尝试手动打,结果程序编译之后就有错误,如下图,![图片说明](https://img-ask.csdn.net/upload/201710/28/1509160323_889371.png)图片说明
望高手解答下怎么回事(已经在pro文件里加上了QT+=widgets gui)

2个回答

编译错误 是因为没有添加头文件 #include

你在创建时手打,只会在你的类后面自动加上继承,头文件还是要你自己写上

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
qt QDialog生成QMainWindow
怎样点击对话框中的按钮然后产生一个主窗口呢,然后让这个对话框消失rn本人初学qt,希望高手指教
Qt对话框QDialog的返回值
Constant Value QDialog::Accepted 1 QDialog::Rejected 0
Qt QDialog 设置圆角
对于普通的控件,我们通过样式表(css)设置圆角就比较简单 border-radius:5px 但是这个方法对于QDialog并没有作用。经过仔细研究发现了。原来QDialog只是一个容器,对于已经设置无边框(Qt::FramelessWindowHint)的对话框,直接设置border-radius并没有作用。 那怎么办呢? 我们可以在QDialog里放置一个QFrame控件,所有的布...
关于qdialog的问题
我在主窗口中 创建一个新的dialog, 在这里面要求输入相关信息rn我怎么在dialog确定返回后得到里面输入的信息rnrn求帮助啊!!!![img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/3.gif][/img]
qt 关于 Object::connect: No such slot QDialog::findClicked()
---------------------main.cpp---------------------rn#include rnrn#include "finddialog.h"rnrnint main(int argc, char *argv[])rnrn QApplication app(argc, argv);rn FindDialog *dialog = new FindDialog;rn dialog->show();rn return app.exec();rnrnrn-----------------------Finddialog.h-------------------rn#ifndef FINDDIALOG_Hrn#define FINDDIALOG_Hrnrn#include rnrnclass QCheckBox;rnclass QLabel;rnclass QLineEdit;rnclass QPushButton;rnrnclass FindDialog : public QDialogrnrn // Q_OBJECTrnrnpublic:rn FindDialog(QWidget *parent = 0);rnrnsignals:rn void findNext(const QString &str, Qt::CaseSensitivity cs);rn void findPrevious(const QString &str, Qt::CaseSensitivity cs);rnrnprivate slots:rn void findClicked();rn void enableFindButton(const QString &text);rnrnprivate:rn QLabel *label;rn QLineEdit *lineEdit;rn QCheckBox *caseCheckBox;rn QCheckBox *backwardCheckBox;rn QPushButton *findButton;rn QPushButton *closeButton;rn;rnrn#endifrnrn---------------------------finddialog.cpp------------------------rn#include rnrn#include "finddialog.h"rnrnFindDialog::FindDialog(QWidget *parent)rn : QDialog(parent)rnrn label = new QLabel(tr("Find &what:"));rn lineEdit = new QLineEdit;rn label->setBuddy(lineEdit);rnrn caseCheckBox = new QCheckBox(tr("Match &case"));rn backwardCheckBox = new QCheckBox(tr("Search &backward"));rnrn findButton = new QPushButton(tr("&Find"));rn findButton->setDefault(true);rn// findButton->setEnabled(false);rnrn closeButton = new QPushButton(tr("Close"));rnrn connect(lineEdit, SIGNAL(textChanged(const QString &)),rn this, SLOT(enableFindButton(const QString &)));rn connect(findButton, SIGNAL(clicked()),rn this, SLOT(findClicked()));rn connect(closeButton, SIGNAL(clicked()),rn this, SLOT(findClicked()));rnrn QHBoxLayout *topLeftLayout = new QHBoxLayout;rn topLeftLayout->addWidget(label);rn topLeftLayout->addWidget(lineEdit);rnrn QVBoxLayout *leftLayout = new QVBoxLayout;rn leftLayout->addLayout(topLeftLayout);rn leftLayout->addWidget(caseCheckBox);rn leftLayout->addWidget(backwardCheckBox);rnrn QVBoxLayout *rightLayout = new QVBoxLayout;rn rightLayout->addWidget(findButton);rn rightLayout->addWidget(closeButton);rn rightLayout->addStretch();rnrn QHBoxLayout *mainLayout = new QHBoxLayout;rn mainLayout->addLayout(leftLayout);rn mainLayout->addLayout(rightLayout);rn setLayout(mainLayout);rnrn setWindowTitle(tr("Find"));rn setFixedHeight(sizeHint().height());rn rnrnrnvoid FindDialog::findClicked()rnrn QMessageBox::question(this,"quit","quit",QMessageBox::Ok | QMessageBox::Cancel ,QMessageBox::Ok);rn QString text = lineEdit->text();rn Qt::CaseSensitivity cs =rn caseCheckBox->isChecked() ? Qt::CaseSensitivern : Qt::CaseInsensitive;rn if (backwardCheckBox->isChecked()) rn emit findPrevious(text, cs);rn else rn emit findNext(text, cs);rn rnrnrnvoid FindDialog::enableFindButton(const QString &text)rnrn findButton->setEnabled(!text.isEmpty());rnrnrnvoid FindDialog::findNext(const QString &str, Qt::CaseSensitivity cs)rn rn QMessageBox::question(this,"quit","quit",QMessageBox::Ok | QMessageBox::Cancel ,QMessageBox::Ok);rn rnrnvoid FindDialog::findPrevious(const QString &str, Qt::CaseSensitivity cs)rn rn QMessageBox::question(this,"quit","quit",QMessageBox::Ok | QMessageBox::Cancel ,QMessageBox::Ok);rn rnrn如上代码是C++GUI Qt4编程第二版的。 随书源代码的第二章的一个find列子。rn我用arm-hismall-linux-g++编译好了。在hi3515板子上跑的时候怎么总是提示Object::connect: No such slot QDialog::findClicked() 这个呢。 是哪个信号-槽的问题,能编译能运行,但是按钮没有相应,应该是信号-槽的设置没好。 各位高手达人们,求解答。
新人问个关于QT中数据类型转换的问题
QString类下有个例子rnrn QString str = "FF";rn bool ok;rn int hex = str.toInt(&ok, 16); // hex == 255, ok == truern int dec = str.toInt(&ok, 10); // dec == 0, ok == falsernrn但是我现在不需要hex ==255,而要它等于-1。rnstr表示一个八位有符号整数而不是无符号的,请问应该怎么写代码呢.....[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/35.gif][/img]
QT,关于问个内存映射的问题?
小弟我有个文件差不多是一个多G的文本文件rn文件格式rn410275.57 4207529.63 598.282rn410275.90 4207542.12 616.827rn410276.22 4207554.62 638.021rn410276.54 4207567.11 656.056rn410276.87 4207579.61 686.688rn410277.19 4207592.10 701.087rn是这种的rn请问如何用内存映射的方法读出来呢?rn普通IO 太慢了,求代码domo
Qt中自定义QDialog隐藏窗口的关闭按钮
今天在设计一个自定义Dialog的时候想要隐藏窗口的关闭按钮,查了好久才找到解决的办法1. 这是一种比较极端的方法,直接创建一个无边框的对话框,无边框,自然什么也没了QDialog dlg(this); //创建一个无边框的对话框 dlg.setWindowFlags(windowFlags()|Qt::FramelessWindowHint); dlg.exec();效果如图2. 保留标题,取消...
Qt中常用的对话框总结QDialog
常见对话框:文件打开,保存对话框;字体,颜色选择对话框;打印对话框;警告对话框;
Qt QDialog用法总结 笔记(持续更新中)
#include "mainwindow.h" #include #include #include #include #include #include #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { QMenuBar *mBar=menuBar(); QMenu *menu=
QT QDialog 中模态与非模态对话框的研究
本文探究了模态与非模态对话框及其在QDialog中的代表方法。 模态对话框模态对话框是只能首先对其进行操作后才能操作其他窗口的对话框。 非模态对话框非模态对话框则是可以同时对它和其他窗口进行操作的对话框。
Qt 之QDialog的模态与非模态
模态对话框:当焦点是该对话框时,在该对话框关闭之前,操作只能在该对话框内进行 非模态对话框:当窗口是该对话框时可切换焦点到任意窗口 下面列举几种创建两种对话框的方法: 模态对话框: 方法一:#include <QApplication> #include <QDialog> #include <QWidget> //模态对话框 int main(int argc,char *argv[])
QT的QDialog::accept()报错啊
In member function 'virtual void Widget::accept()':rncannot call member function 'virtual void QDialog::accept()' without object
QT 总结(五) 对话框QDialog
QDialog #include "mywidget.h" #include "ui_mywidget.h" #include //包含头文件 MyWidget::MyWidget(QWidget *parent) : QWidget(parent), ui(new Ui::MyWidget) { ui->setupUi(this);
QT模态对话框和非模态对话框(QDialog)
模态对话框是指在没有关闭它之前,不能再与同一个应用程序的其他窗口进行交互,比如新建项目时弹出的对话框。 非模态对话框是指既可以和它交互,也可以与同一程序中的其他窗口交互,如word中查找替换对话框。 类源文件mywidget.cpp 代码一: #include &quot;mywidget.h&quot; #include &quot;ui_mywidget.h&quot; #include&amp;lt;QDialog&amp;gt; ...
05 QT的窗口系统-QDialog
对话框是 GUI 程序中不可或缺的组成部分。很多不能或者不适合放入主窗口的功能组件都必须放在对话框中设置。对话框通常会是一个顶层窗口,出现在程序最上层,用于实现短期任务或者简洁的用户交互。在使用前,需要加入头文件&lt;QDialog&gt; 1、对话框分类 模态对话框,就是会阻塞同一应用程序中其它窗口的输入。 非模态对话框则在弹出后,可以继续操作主窗口。 模态对话框: /* 新加一个对...
【QT学习】对话类QDialog
非模态对话框:可以与同一个程序的其他窗口进行交互 #include "mywidget.h" #include "ui_mywidget.h" #include MyWidget::MyWidget(QWidget *parent) :     QWidget(parent),     ui(new Ui::MyWidget) {     ui->setupUi(this)
关于创建Qdialog数组的问题
rn各位大神 我定义了QDialog *aa[6];rn头文件包含了#include "dlg1.h"rn#include "dlg2.h"rn#include "dlg3.h"rn#include "dlg4.h"rn#include "dlg5.h"rn#include "dlg6.h"rn#include "dlg7.h"rn创建rn aa[0]=new Dlg1;rn aa[1]=new Dlg2;rn aa[2]=new Dlg3;rn aa[3]=new Dlg4;rn aa[4]=new Dlg5;rn aa[5]=new Dlg6;rn aa[6]=new Dlg7;rn但这个编译有问题 各位大神帮忙解决下rnrn
关于QT5.9.版本QDialog问题
创建一个c++ class文件时,自定义了一个mydialog类,可是找不到要继承的基类QDialog,然后手动打了一个QDialog,rn编译后有错误,这是怎么回事啊[img=https://img-bbs.csdn.net/upload/201710/28/1509162918_108466.png][/img][img=https://img-bbs.csdn.net/upload/201710/28/1509162925_631365.png][/img]
关于QDialog对象delete的问题!!!
文档上说:QObject及其派生类的对象,如果其parent非0,那么其parent析构时会析构该对象。rnrnrn那么是不是我定义一个类rnclass myDlg : public QDialogrnrn现在我new出一个类对象实例 myDlg *pDlg = new myDlg;rnrn那么如果构造函数写成:rnmyDlg(QWidget *parent = 0);rn这样,是不是意味着我必须自己delete掉new出的类对象?rnrn如果构造函数写成:rnmyDlg(QWidget *parent);rn这样,是不是意味着我不需要手动delete掉自己new出的类对象?rnrn还是说只要是继承自QObject的类,全部不需要自己delete对象???rnrn======================rnrn另外再问个问题,bool QWidget::close() 这个函数,当close掉一个窗口后,是不是只意味着窗口被隐藏掉了?指向它的指针已然有效?如果是,那么岂不是会占用内存?
问个弱的问题~QT
刚接触QT2天,想试着移植到ARM板子上,但是很多问题都还没弄明白,包括版本问题rn我开始的时候按一篇文章下载编译了:qt-embedded-linux-opensource-src-4.5.2 和 qt-x11-opensource-src-4.5.2rn编译那些是通过了,但是就是把lib放板子里用不了rn然后又看到有用qtopia-core-opensource-src-4.3.3的,但是用了以后还是一回事~~rn现在我又在上面那两个QT的下载的地方看到qt-2.00 只有17Mrn我看到中嵌的视频,里面有个hello的例子,qt-2.00里面有~~rn我大概了解到:qt-embedded-linux-opensource-src-4.5.2 和 qt-x11-opensource-src-4.5.2 再加个 tslib可以做rn也可以是单独的qtopia-core-opensource-src-4.3.3rn那这个qt-2.00又是什么东西阿~?rn谁能给个详细的安装移植过程啊。。谢谢了~~
问个QT内部问题
QObject::connect(button, SIGNAL(clicked()), &a, SLOT(test())); rnrnrn这句是一个最简单的 按钮 点击 事件。rnrn高手应该知道 宏 其实只是转化字符串。rnrn我想问,真正的点击的时候 , 程序是如何找到这个函数的呢?rnrn求大神深入详解。rn
问个关于QT的OBject::conect的简单问题
rn[code=C/C++]rn#include rn#include rn#include rn#include rn#include rn#include rnint main (int argc, char *argv [])rn QApplication app (argc, argv);rn QWidget* window = new QWidget();rn QHBoxLayout *layout = new QHBoxLayout(); rn QPushButton *button = new QPushButton("button");rn QTextEdit *textEdit = new QTextEdit();rn QObject::connect (button, SIGNAL (clicked()),textEdit, SLOT (clear()));rn layout->addWidget(button);rn layout->addWidget(textEdit);rn window->setLayout(layout);rn window->show();rn return app. exec ();rnrnrn[/code]rn这样的代码可以让我点击按钮是,清除textEdit的内容,但是我想当我点击按钮时,textEdit的内容变成helloworld,不知道怎么做,谁来教教我.
问个关于vs和qt Creator 平台的问题
rn再VS平台下这么调用这个就好用呢,这个是公司的dll库rnrn CDDirector3D dimv;rn dimv.CDDirectorBase::Read(m_inv);rnrn再qt Creator 平台下 就报错了rnrnmainwindow.obj:-1: error: LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: int __thiscall NContour::CDDirectorBase::Readrn 这个原因该如何解决呢,各位老大?
- -新手问个Qt关于QWidget显示的问题
因为Qt板块冷清异常。。。。。rn我想做一个类似开始菜单的东西 rn点击开始菜单后 或出现一列label(如同win7开始菜单)rnrn我想的是 我移动到某个label上 点击 一下 就会在右侧出现二级菜单rnrn但是Qt的机制让我很苦恼 我在父窗口中 创建了一个二级菜单 如果移动到右侧直接被掩盖了(就是看不见了)rn好像是 父窗口只有那么大 我在父窗口右侧(之外)创建了一个窗口 直接就看不见了rn请问这问题怎么解决rn谢谢各位大佬rnrn我是这么做的:rnrn我以一个widget 设置全屏 作为背景画布rnrn然后开始菜单按钮在左下角 点击出现一级菜单rnrn点击一级菜单里面的选项出现二级菜单 我在一级菜单里new一个二级菜单 因为一级菜单窗口大小问题被遮盖了rn因为要new的二级菜单数量巨多 我又不想在最外层画布上new二级菜单(show,hide),还有三级菜单什么的。。。怎么着得百十个。。。。
问个关于QT二进制读写的问题?
我有这些一些散点文件rn605835.51668886 6073556.38221996 1125.63109397888rn605860.50694257 6073557.0806523 1125.61869621277rn605885.49719628 6073557.77908465 1125.61047077179rn...rn...rnnrn我想把他写入到二进制文件中,该如何操作呢rn把这些数据从二进制文件当中读出来,又是如何操作的呢,小弟我初学者,看了网上一些例子,rn都是对固定数字进行读写的,这样不固定的就搞不定了,求大神指点rn
QT:QDialog去掉标题栏不显示
QT对话框,去掉标题栏,就不显示。 去除标题栏: Dialog-&amp;gt;setWindowFlags(Qt::FramelessWindowHint); 解决不显示的问题: Dialog-&amp;gt;setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog); 这样应该没问题了吧。 ...
关于Qt中::的问题
不明白什么时候需要使用这个,什么时候不需要使用这个,请大家给点提示rnrn我今天调用了open函数,就不需要使用这个rnrn然而我调用了个close 就必须加上::要么提示错误,不他明白,应该什么时候加上?
QT QDialog 对话框显示几秒钟自动关闭
在实际开发中,我们会有这样一种需求,一个提示框,用户可以手动关闭,或者在用户没有操作的情况下,显示3秒钟然后自动关闭,这样应该怎样做呢?我们的思路应该是这样的:1.对话框构造函数里,设置一个定时器2.定时器槽函数设置为close()看代码.h#ifndef SUBMITSCOREERRORDLG_H #define SUBMITSCOREERRORDLG_H #include &amp;lt;QDial...
QT QDialog没有最大化最小化按钮
我在Linux 下用qt写的程序 怎么没有[color=#FF0000]最大最小[/color]的按钮呢 rn我的类继承的是QDialog类 rn在网上看到很多解决方案经测试都没有效果 有的可以显示 但是显示后窗口就不居中显示了 rnrn然后我用qt creator默认创建的程序最大 最小按钮是有了 可是程序[color=#FF0000]就是不居中[/color]rnrn各位怎么解决呢???
问个Qt网络编程中字节序的问题
以前学VC编程时知道有字节序这个概念,学Qt网络编程时我看官方给的demo或者那本《C++ GUI QT4编程》,发现基本上都没有提到大端、小端的问题。我想可能是因为qt在windows下默认是大端,这样发送端怎么写接收端怎么读就可以了。现在我的问题是,如果我在pc机上写客户端跟一个小端字节序的arm板进行通信的话,是不是我就要在pc机往QByteArray里写数据的时候,把本地的字节序设置为小端?因为同学那个arm板程序还没写好,所以现在还不能测试。我就想先问下,需要我转换本地的字节序跟对方的字节序保持一致吗?
QT QDialog如何设置创建对话框得背景颜色??
QDialog* m_pNotifyDialog;rnm_pNotifyDialog->setWindowFlags (Qt::FramelessWindowHint|Qt::CustomizeWindowHint | (Qt::Window) | Qt::WindowStaysOnTopHint); rnm_pNotifyDialog->setFixedSize (NEW_MESSAGE_DIALOG_WIDTH, NEW_MESSAGE_DIALOG_HEIGHT); rnrn我想改变颜色m_pNotifyDialog->setBackgroundColor 没有这个成员函数。帮助下新手呵呵
QDialog 的 setWindowFlags 问题
我在一个QDialog里,用上下文菜单(右键)打开另一个QDialog:rnrnm_ui->tableView->setContextMenuPolicy(Qt::ActionsContextMenu);rnsetShowFields = new QAction(tr("Customize show fields"),this);rnconnect(setShowFields, SIGNAL(triggered()), this, SLOT(showFields()));rnm_ui->tableView->addAction(setShowFields);rnrn然后在showFields()方法中:rnA a(this); rn在A的构造函数里:rnm_ui->setupUi(this); rn默认的窗体右上角是帮助和关闭按钮,但是我想把帮助按钮去掉,只保留关闭按钮。rnsetWindowFlags(Qt::WindowCloseButtonHint);rnrn但是结果这个dialog的边框都不见了。rnrn[img=http://img.my.csdn.net/uploads/201212/25/1356425853_4666.PNG][/img]rnrn有人知道是为什么吗?多谢!rnrn如果不是通过上下文菜单(右键菜单)打开的dialog,就可以修改窗口属性。
QDialog下的QTabWidget问题
我在一个QDialog下添加了一个tabWidget,在其下添加了一positionTab,给这个positionTab设置了layout,但是运行后发现positionTab下什么东西都没有。。。rn[code=C/C++]rnQTabWidget *tabWidget = new QTabWidget;rnQWidget *positionTab = new QWidget();rnQFormLayout *lightPositionLayout = new QFormLayout();rnlightPositionLayout->addRow("X:",xpos);rnlightPositionLayout->addRow("Y:",ypos);rnlightPositionLayout->addRow("Z:",zpos);rnpositionTab->setLayout(lightPositionLayout);rntabWidget->addTab(positionTab,"Position");rn[/code]rn研究了快3个小时了看不明白到底哪里错了。奇怪的地方在于,下面的代码会让tabWidget的另外一个tab(ambientTab)下显示“This is a low”!rn[code=C/C++]rnQLabel *ambientTab = new QLabel(tr("This is a low"));rntabWidget->addTab(ambientTab,tr("Ambient"));rn[/code]rn有高人解释一下我到底哪里错了吗???还是QDialog下的QTabWidget有问题?
【PyQt】Qt中QMainWindow, QWidget以及QDialog的区别和选择
PyQt中MainWindow, QWidget以及Dialog的区别和选择1. Qt界面分类在Qt Designer设计界面时,首先需要选择界面模板,主要分为三个类: 1. Main Window 2. Widget 3. Dialog - Dialog with Buttons Bottom - Dialog with Buttons Right
MCLUtils(QDialog)
这是一个PyQt编写的自定义Dialog窗口。 包含进度条、提醒、询问、错误。所有的图片资源均为动态调用,可以随意改动。默认进度条为植物大战僵尸。
QDialog对话框
基本对话框 文件对话框 static QString QFileDialog::getOpenFileName( * )//返回文件绝对路径,如果取消,则返回一个空字符串。 颜色对话框 static QColor QColorDialog::getColor( * )//返回选择的颜色,如果取消,则返回一个无效的颜色 bool QColor::isValid() c...
QDialog 圆角
QDialog 使用css 设置一个对话框为圆角。主要思路是QDialog为一个容器,设置透明后,要对里面的控件进行设置圆角。
QDialog 失去焦点
[code=c]connect(m_pList,SIGNAL(doubleClicked(const QModelIndex &)),rn this,SLOT(OnDoubleClick(const QModelIndex&)));rn rn rnOnDoubleClick(const QModelIndex& i_indexMode)rnrn QDialog* dlg= new QDialog(this);rn dlg->exec();rn delete dlg;rn[/code]rnrn当双击qtreeview的列表,弹出对话框。我移动到对话框上面的按钮没有hover状态。我要点击一下对话框才会获取焦点。当退出对话框,主窗口也失去焦点。rn搞了好久都不知道是什么原因,会不会是鼠标按下弹起消息被QDialog阻塞了。各位大侠帮帮忙啊。rn我重写了QDialog在它的构造函数中调用setforce也没有作用
在qdialog中实现增加toolbar
MyDialog::MyDialog() : QDialog() { QMainWindow * mainWindow = new QMainWindow(); // or your own class // inheriting QMainWindow QToolBar
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法