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

就是一个CPP中 一样的界面 执行不同的初始化

15
回复
9466
查看
[复制链接]
累计签到:256 天
连续签到:1 天
来源: 2015-5-6 15:12:17 显示全部楼层 |阅读模式
2Qter豆
A.cpp有2个btn 1个tableview
btn 1个是添加 1个是修改
添加->B B初始化全部是空
选择条目->修改->B     B里面有值 可以重新选择
这种要怎么搞呢 没有头绪啊
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

问题1:构造函数传参数。 修改构造函数: 例如Class A { A(QWidget *parent = 0); } 修改声明 class A { A(int index1,bool enabled,int index2,bool enabled); } 然后修改定义。 问题2:这个添加和修改,其实就是给构造函数传递参数的问题。 好的实现方法是,构造函数声明称带有默认参数的形式。 A(QWidget *parent = 0);的形式就是带有默认参数的形式。 A *a = new A(); 等价于 A *a = new A(0);0就是默认参数。 添加就 ...
回复

使用道具 举报

累计签到:894 天
连续签到:1 天
2015-5-6 15:12:18 显示全部楼层
z55716368 发表于 2015-5-6 15:17
弱弱问一个 如果要给构造函数传递参数 怎么搞

问题1:构造函数传参数。
修改构造函数:
例如Class A
{
   A(QWidget *parent = 0);
}
修改声明
class A
{
  A(int index1,bool enabled,int index2,bool enabled);
}
然后修改定义。

问题2:这个添加和修改,其实就是给构造函数传递参数的问题。

好的实现方法是,构造函数声明称带有默认参数的形式。
A(QWidget *parent = 0);的形式就是带有默认参数的形式。
A *a = new A(); 等价于 A *a = new A(0);0就是默认参数。
添加就用默认的构造函数形式。

对于修改的,传入参数,如A *a = new A(widget);这个widget就是参数。
我看你这个都是QComcoBox类型,传的参数可以都是int类型的。
使用currentIndex()获取和setCurrentIndex()设置。

还有not enable的QComcoBox,那么参数里也应该有bool类型的。
setEnabled(bool);



回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-5-6 15:17:21 显示全部楼层
弱弱问一个 如果要给构造函数传递参数 怎么搞
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-5-6 18:07:40 显示全部楼层
Syylc120317 发表于 2015-5-6 17:54
问题1:构造函数传参数。
修改构造函数:
例如Class A

看了你的回答 明白了很多 我现在这样声明的
CAddcontroller(QWidget *parent = 0, bool *a = NULL );
然后定义
Addcontroller::CAddcontroller(QWidget *parent,bool *a) :
    QWidget(parent)
使用的时候
void 1(){
bool a = true;
CAddcontroller *ne = new CAddcontroller(this,&a);
ne->setWindowModality(Qt::ApplicationModal);
ne->show();
}
void 2(){
bool a = false;
...
}
界面的初始化就根据传递的true或者false重新构造
这样可以吗
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-5-6 18:18:56 显示全部楼层
Syylc120317 发表于 2015-5-6 17:54
问题1:构造函数传参数。
修改构造函数:
例如Class A

问一个问题 怎么使我每次取消操作 让tableview的默认都是空
就是比如我选了一行 删除 然后再点删除 它也会继续删除下一行 我现在需要每次点了那一行删除之后 就没有箭头指向任何一行
回复

使用道具 举报

累计签到:894 天
连续签到:1 天
2015-5-6 20:19:55 显示全部楼层
z55716368 发表于 2015-5-6 18:07
看了你的回答 明白了很多 我现在这样声明的
CAddcontroller(QWidget *parent = 0, bool *a = NULL );
然 ...
像下面这样。PS:bool这样的类型可以不用指针。
  1. Addcontroller::CAddcontroller(QWidget *parent,bool *a) :
  2.     QWidget(parent)
  3. {
  4.         //init UI
  5.         comcobox = new QComcoBox(this);
  6.         
  7.         //etc...
  8.         
  9.         //set widget
  10.         comcobox->setEnabled(*a);
  11. }
复制代码
回复

使用道具 举报

累计签到:894 天
连续签到:1 天
2015-5-6 20:22:33 显示全部楼层
本帖最后由 Syylc120317 于 2015-5-6 20:25 编辑
z55716368 发表于 2015-5-6 18:18
问一个问题 怎么使我每次取消操作 让tableview的默认都是空
就是比如我选了一行 删除 然后再点删除 它也 ...

这个问题,你只要记住上次删除的行就行了。下次删除时接着上次的位置。
你这样删除之后是因为,selectedRow为空,即没有选中的行,所以不能删除。
要有选中的行(单元格),才能删除行。
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-5-7 08:38:48 显示全部楼层
Syylc120317 发表于 2015-5-6 20:22
这个问题,你只要记住上次删除的行就行了。下次删除时接着上次的位置。
你这样删除之后是因为,selectedRo ...

每次进入我都给他制为查找当前行,貌似可以解决
回复

使用道具 举报

累计签到:894 天
连续签到:1 天
2015-5-7 13:01:08 显示全部楼层
z55716368 发表于 2015-5-7 08:38
每次进入我都给他制为查找当前行,貌似可以解决

嗯,能解决问题就行。
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-5-7 14:08:31 显示全部楼层
本帖最后由 z55716368 于 2015-5-8 08:47 编辑
Syylc120317 发表于 2015-5-6 20:19
像下面这样。PS:bool这样的类型可以不用指针。

tableview怎么做成这样子?
行表头是这样的箭头而没有数字、

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

累计签到:894 天
连续签到:1 天
2015-5-8 12:38:49 显示全部楼层
z55716368 发表于 2015-5-7 14:08
tableview怎么做成这样子?
行表头是这样的箭头而没有数字、

这个,只能自定义,你可以把三角形定义为一个图片。
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-5-8 14:21:46 显示全部楼层
Syylc120317 发表于 2015-5-8 12:38
这个,只能自定义,你可以把三角形定义为一个图片。

难道是用QSS那种玩意??
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-5-8 14:26:13 显示全部楼层
Syylc120317 发表于 2015-5-8 12:38
这个,只能自定义,你可以把三角形定义为一个图片。

你能帮我写一个吗 我不会这个CSS或者是QSS 网上的也没有我需要的
回复

使用道具 举报

累计签到:894 天
连续签到:1 天
2015-5-8 15:49:47 显示全部楼层
z55716368 发表于 2015-5-8 14:21
难道是用QSS那种玩意??

不是,你先做一张图片。
回复

使用道具 举报

累计签到:894 天
连续签到:1 天
2015-5-8 15:49:58 显示全部楼层
z55716368 发表于 2015-5-8 14:26
你能帮我写一个吗 我不会这个CSS或者是QSS 网上的也没有我需要的

我没做过,只是建议。

点评

你好,打扰了 今天在看http://bbs.qter.org/forum.php?mod=viewthread&tid=93&extra=page%3D2%26filter%3Dauthor%26orderby%3Ddateline%26orderby%3Ddateline的时候对QLinearGradient linearGradient(QPointF(40, 19  详情 回复 发表于 2015-8-12 11:28
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-8-12 11:28:51 显示全部楼层
Syylc120317 发表于 2015-5-8 15:49
我没做过,只是建议。

你好,打扰了 今天在看http://www.qter.org/forum.php?mo ... 6orderby%3Ddateline的时候对QLinearGradient linearGradient(QPointF(40, 190), QPointF(70, 190));以及painter.drawRect(10, 20, 90, 40);产生了困惑,请问QPointF的值是表示什么呢 我看了解释但是还是不清楚这个范围和我draw之后的图形的大小的关系?
回复

使用道具 举报

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

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