1 /* 3-1 myWidget1 */
2 #include <Qtgui>
3
4 int main (int argc, char* argv[])//为什么是两个参数?
5 {
6 QApplication a(argc,argv);
7 QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));//在代码中可以使用中文
8
9 QWidget *widget =new QWidget();//new动态分配内存
10 widget->setWindowTitle(QObject::tr("我是widget"));//QObject::tr为了不出现乱码
11
12
13 QLabel *label =new QLabel ();
14 label->setWindowTitle(QObject::tr("我是label"));
15 label->setText(QObject::tr("label:我是个窗口"));
16
17 label->resize(400,200); //改变部件大小
18
19
20 QLabel *label2=new QLabel (widget);//label2指定了父窗口是widget,所以label2不是窗口
21 label2->setText(QObject::tr("label2:我不是独立窗口,只是widget的子部件"));
22
23
24 label-> show();
25 widget->show();
26 // label2->show(); //因为label2不是一个窗口,所以不能显示出来
27
28 int ret=a.exec();
29 delete label;//释放内存
30 delete widget;//会自动释放label2
31
32 return ret;//时间循环
33 }
1 /****************3-2 程序调试*****************
2 1. 设置断点
3 2. 单步调试(F11)
4 3. 使用qDebug()函数
5 */
6
7
8 //#include <QtGui>
9 #include <QApplication>
10 #include <QWidget>
11 #include <QDebug>
12
13 int main(int argc,char *argv[])
14 {
15 QApplication a(argc,argv);
16
17
18 QWidget widget;
19 widget.resize (400,300);//其中数值,是不包括边框的
20 widget.move(200,100); //设置窗口位置
21 widget.show();
22
23
24 int x=widget.x();//分别返回部件的位置坐标x、y
25 qDebug("x:%d",x); //输出x的值
26 int y=widget.y();
27 qDebug("y:%d",y);
28
29 QRect geometry=widget.geometry(); //返回没有边框和有边框架矩形的值
30 QRect frame=widget.frameGeometry();
31 qDebug()<<"geometry: "<<geometry <<"frame " << frame;
32 qDebug()<<"1111";
33
34
35 return a.exec();
36
37 }