• 5347阅读
  • 5回复

[提问]关于qt设计师的一个小问题 [复制链接]

上一主题 下一主题
离线printfire
 

只看楼主 倒序阅读 楼主  发表于: 2011-02-28
关于qt设计师的一个小问题


我刚刚接触qt,使用了qt设计师。在里面建了窗口部件比如说label,用它objectname label进行编程,结果编译出来老出错误,说我没定义,怎么回事?
附上部分代码
#include "widget.h"
#include "ui_widget.h"
#include <QLabel>


Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    label.setText("ceshi");
            
}


补充一下,说没定义的是label,可我已经包含了它的头文件,而且也是用的它的objectname,不知道怎么解决


离线jdwx

只看该作者 1楼 发表于: 2011-02-28
应该是:ui->Label......
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线roywillow

只看该作者 2楼 发表于: 2011-02-28
既然你采用这种方式构造窗体就应该写ui->label了吧
我一般是多继承QWidget(或QMainWindow之类的)和ui_XX(设计师生成的ui_XX.h文件中定义的类),这样ui中的变量就直接用了
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线qq419036154

只看该作者 3楼 发表于: 2011-02-28
如果你的是QLabel label=new QLabel
那么就可以用label.setText("ceshi");
但如果你用qt设计师的话,就得用ui->setText("ceshi");
离线roywillow

只看该作者 4楼 发表于: 2011-02-28
引用第3楼qq419036154于2011-02-28 16:29发表的  :
如果你的是QLabel label=new QLabel
那么就可以用label.setText("ceshi");
但如果你用qt设计师的话,就得用ui->setText("ceshi");


不是label.setText("ceshi")而是label->setText("ceshi")吧
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线printfire

只看该作者 5楼 发表于: 2011-02-28
恩,谢谢啊
快速回复
限100 字节
 
上一个 下一个