找回密码
 立即注册
收起左侧

我现在在QT里面写了几个函数 有不同功能

12
回复
10489
查看
[复制链接]
累计签到:256 天
连续签到:1 天
来源: 2015-4-22 17:14:14 显示全部楼层 |阅读模式
2Qter豆
我要怎么把这些函数封成一个类 或者怎么样让我的上级可以直接调用我的函数去使用
因为才出来工作 完全不会这个 有会的麻烦详细解答一下 万分感谢!

最佳答案

查看完整内容

楼上说的是一种方法,你也可以将写好的类的源代码交给你的上司,当然要看你们工作的协同方式,至于怎么封装,你的问题太笼统,不好给你详细解释,不过意思就是你写一个类,将你想要封装的函数做他的public类型成员函数就可以了
回复

使用道具 举报

累计签到:882 天
连续签到:3 天
2015-4-22 17:14:15 显示全部楼层
楼上说的是一种方法,你也可以将写好的类的源代码交给你的上司,当然要看你们工作的协同方式,至于怎么封装,你的问题太笼统,不好给你详细解释,不过意思就是你写一个类,将你想要封装的函数做他的public类型成员函数就可以了
回复

使用道具 举报

尚未签到

2015-4-22 17:39:42 显示全部楼层
写成一个dll项目
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-23 08:28:31 显示全部楼层
一叶知秋 发表于 2015-4-22 17:47
楼上说的是一种方法,你也可以将写好的类的源代码交给你的上司,当然要看你们工作的协同方式,至于怎么封装 ...

大概意思懂了 就是在建立项目的时候 就自己设定一个类 然后在里面写函数 写好直接给上级  那个dll怎么生成呢?
回复

使用道具 举报

累计签到:344 天
连续签到:1 天
2015-4-23 10:11:32 显示全部楼层
本帖最后由 cai901022 于 2015-4-23 10:21 编辑
z55716368 发表于 2015-4-23 08:28
大概意思懂了 就是在建立项目的时候 就自己设定一个类 然后在里面写函数 写好直接给上级  那个dll怎么生 ...

那个是学自定义插件的时候才用到,你问题我大概知道是要怎么做。你可以这样,在项目中添加新的文件,然后选c++Header File以及C++ source File。这两个一个是头文件,一个是源文件。之后在头文件中写这个,在源文件中记得要include头文件.
class myFun//类名,可以自己定义{public:    QString ……;      //可要可不要,参数来的。
    void fun();       //要定义的函数};
然后在源文件中定义那个fun();,快捷方法就是右键那个void fun();选择Refactor,点击选择在源文件中生成函数。这样就可以自动跳转来定义了。

之后你只要在别的文件中include,然后声明一下就可以调用了。比如myFun myfun;//声明。然后调用方法就是。myfun.fun();

这样够清楚了吧
参与人数 1人气 +2 收起 理由
z55716368 + 2 对我帮助很大!

查看全部评分总评分 : 人气 +2

回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-23 10:44:57 显示全部楼层
cai901022 发表于 2015-4-23 10:11
那个是学自定义插件的时候才用到,你问题我大概知道是要怎么做。你可以这样,在项目中添加新的文件,然后 ...

大哥真不错~ 又学习到了新知识
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-23 15:28:25 显示全部楼层
cai901022 发表于 2015-4-23 10:11
那个是学自定义插件的时候才用到,你问题我大概知道是要怎么做。你可以这样,在项目中添加新的文件,然后 ...

1.h里面是a函数定义,1.cpp里面是a函数声明——生成一个装了波特率的数组。然后在2.cpp里面 我构造了一个QCombobox,调用a函数,返回了一个数组,将数组里面的数据填充到QCombobox里面。  要怎么弄。。。搞了一下午 总是有问题
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-24 10:20:43 显示全部楼层
cai901022 发表于 2015-4-23 10:11
那个是学自定义插件的时候才用到,你问题我大概知道是要怎么做。你可以这样,在项目中添加新的文件,然后 ...

昨天那个问题解决的,今天的问题是 QT串口第三方类有没有遍历串口的东西 类似QSerialportInfo::availablePorts()、、我们老大用的是4.8的版本、他今天才给我说~
回复

使用道具 举报

累计签到:344 天
连续签到:1 天
2015-4-24 11:05:36 显示全部楼层
z55716368 发表于 2015-4-24 10:20
昨天那个问题解决的,今天的问题是 QT串口第三方类有没有遍历串口的东西 类似QSerialportInfo::available ...

应该有,但我不清除,我用的是QT5以上的,http://www.qter.org/forum.php?mod=viewthread&tid=42。你看看这里吧,有教程
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-24 11:47:29 显示全部楼层
cai901022 发表于 2015-4-24 11:05
应该有,但我不清除,我用的是QT5以上的,http://www.qter.org/forum.php?mod=viewthread&tid=42。你看看 ...

http://www.qter.org/forum.php?mo ... tid=2884&extra= 有空帮我看看 谢谢~
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-30 09:40:03 显示全部楼层
cai901022 发表于 2015-4-23 10:11
那个是学自定义插件的时候才用到,你问题我大概知道是要怎么做。你可以这样,在项目中添加新的文件,然后 ...

你好 我想问一下listWidget->addItem(new QListWidgetItem(QIcon(":/IE.png"), tr("IE")));
":/" 这个地方我见基本都是这样写的 这个路径是指我在Qt项目中添加的资源吗  如果我直接吧图片的文件夹放到Qt项目的目录下应该怎么用?
回复

使用道具 举报

累计签到:344 天
连续签到:1 天
2015-4-30 10:00:10 显示全部楼层
这个是图标的路径,应该是在.pro文件里面有写。如果你直接把图片的文件夹放到QT项目的目录下有两种方法,一种是绝对路径,你直接打开到那种图片的目录,然后复制它的路径,粘贴上去,最后将\改成/就可以了,比如那张图是放在E盘下一个叫QT的文件夹中,那么绝对路径就是E:/QT/IE.png.第二种方法就是相对路径。首先你要知道它QT编译的时候会在项目目录同级那里出现两个文件夹,一个是debug,一个release目录,两种编译出的程序都在这两个文件中,那么我们只要先跳出这两个目录,在进入QT项目的目录就可以了。假设你那个QT项目的目录文件夹名称是QT,那么相对路径就应该写成"../QT/IE.png"。
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-30 10:40:35 显示全部楼层
cai901022 发表于 2015-4-30 10:00
这个是图标的路径,应该是在.pro文件里面有写。如果你直接把图片的文件夹放到QT项目的目录下有两种方法,一 ...

谢谢你的解答 很详细 、、、、
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了