Qt程序,可能会提示没有合适的默认构造函数。

使用Qt Creator或者是VS+Qt Add in插件开发Qt程序,可能会提示没有合适的默认构造函数。

是由于ui中的objectName被修改,与

namespace Ui {
class Widget;
}中的"Widget"名称不一致引起的:

解决办法:将ui中的objectName 改成 "Widget",就不会出现这个问题。

时间: 2024-11-11 03:53:52

Qt程序,可能会提示没有合适的默认构造函数。的相关文章

C++ 没有合适的默认构造函数(无参数构造函数)

本来今天吧,想写一个proxy class的范例,写着写着出了个问题,见如下代码 const int _cap = 10; Array1D* _elemArray = new Array1D[_cap]; 同时我为Array1D这个类写了一个构造函数来顶替编译器自动生成的 Array1D(int inx) { _elemNum = new T[inx]; } 随后报错,提示没有合适的默认构造函数,但是显然,我这里是提供了一个构造函数的,那么问题就出在现有的构造函数不能应对上面的new语句 联系v

error C2512: “Name”: 没有合适的默认构造函数可用

error C2512: “Name”: 没有合适的默认构造函数可用 1 #include <iostream> 2 #include <string> 3 #include <cmath> 4 using namespace std; 5 6 class Name 7 { 8 public: 9 Name (char *fst,char * last ); 10 //Name (){}; 11 string GetName() const ; 12 void setN

使用VC2005编译真正的静态Qt程序

首先,你应该该知道什么叫静态引用编译.什么叫动态引用编译.我这里只是简单的提提,具体的可以google一下. 动态引用编译,是指相关的库,以dll的形式引用库.动态编译的Exe程序尺寸比较小,因为相关的库都没有包含进来.当然,程序发布的时候,还要把相关的库也一并发布出去. 静态引用编译,是指把相关的库也一并引入Exe文件.这是程序的尺寸就会很大,不过,程序发布就会变得简单很多. 其次,你可能会注意到我标题上写了“真正”这两个字.为什么我要强调真正这两个字呢?因为使用VC编译的C或者C++程序,都

使用VC2005编译真正的静态Qt程序 good

首先,你应该该知道什么叫静态引用编译.什么叫动态引用编译.我这里只是简单的提提,具体的可以google一下. 动态引用编译,是指相关的库,以dll的形式引用库.动态编译的Exe程序尺寸比较小,因为相关的库都没有包含进来.当然,程序发布的时候,还要把相关的库也一并发布出去. 静态引用编译,是指把相关的库也一并引入Exe文件.这是程序的尺寸就会很大,不过,程序发布就会变得简单很多. 其次,你可能会注意到我标题上写了“真正”这两个字.为什么我要强调真正这两个字呢?因为使用VC编译的C或者C++程序,都

QSS美化Qt程序以及最近做的Qt项目界面

什么是QSS QSS称为Qt Style Sheets也就是Qt样式表,它是Qt提供的一种用来自定义控件外观的机制.QSS大量参考了CSS的内容,只不过QSS的功能比CSS要弱很多,体现在选择器要少,可以使用的QSS属性也要少很多,并且并不是所有的属性都可以用在Qt的所有控件上. QSS在Qt程序中的使用办法 首先将QSS写在文件中,然后利用如下的代码设置QSS: MainWidget::MainWidget(QWidget *parent) : QWidget(parent), ui(new

Linux下静态编译Qt程序

一般情况下,我们用Qt编译出来的程序是要依赖于系统Qt库的,也就是这个程序移到别的没有安装Qt库的系统上是不能使用的.会提示缺少……库文件之类的错误.这就是动态编译的结果. 但是如果我们想编译一个程序,这个程序在发给别人后,他们可以直接打开,而不需要特别地去先安装Qt库,那就需要采用静态编译了. 在Linux下如何静态编译Qt程序呢? 首先需要先安装静态编译的Qt,也就是静态编译Qt程序首先是需要一个静态编译安装的Qt   1.下载源安装程序,如 qt-x11-opensource-src-4.

Linux下同时运行不同版本的qt程序

因项目需要,可能有不同版本的qt程序要运行到同一台机器上,本次实验是qt4.8.5和qt5.3.1开发的程序同时运行在同一台机器上,此机器可以不按照qt的任何版本,当然,两个版本开发的qt与机器的位数必须一样,例如都是32位或者64位. 两个版本的qt的程序我都采用动态编译(静态编译方法请度娘),所以需要把运行程序所需的动态库放到程序可以链接的地方,程序可以链接的动态库路径参见:linux动态库搜索路径.此处直接贴出结论:动态库的搜索路径搜索的先后顺序是: 1.编译目标代码时指定的动态库搜索路径

不启动桌面系统运行qt程序

参考文档http://stackoverflow.com/questions/3495637/debian-start-qt-gui-application-with-no-desktop X server使用Xorg Window manager使用xfwm4 yum install Xorg            (包括依赖包一起2M左右) yum install xfwm4        (包括依赖包一起2M左右) 为了能运行Qt程序,需要安装qt-x11 yum install qt-x

QT程序在发布的时候应注意的地方

---恢复内容开始--- 我们用QT开发好的应用程序,如果要发布到其他计算机上运行怎么办呢?我们在用VC编程时,单独运行编译好的可执行文件时,经常会发现提示缺少动态库.用QT编程也不例外,在一定程度上,编写好的QT程序会依赖一些动态链接库,包括MSVC运行库,已经QT自身的一些动态链接库.这是由于程序在编译时采用了动态链接的原因.如果我们在编译初期,就设置为静态编译,那么就不会出现这种情况了.动态链接机制是程序开发的一把双刃剑. 既然问题出现了,我们想着解决的办法.很自然的一种想法就是,程序需要