Qt一些基础知识的小结

            主要学习资料是《GUI-QT4》和《QT学习之路》,对其中学习过的知识进行总结。这里我主要记录自己的码代码的学习过程,方便自己以后的查找和学习。

            QT中的UI设计主要有两种,码代码的形式和designer画出来的形式。

      一、信号槽

             1、信号槽的格式

                 目前我学到的Qt4系列中,只知道一种: connect ( A ,   SIGNAL(xxx) ,   B   ,SLOT(xxxxx)   );

             2、自定义信号槽

                虽然Qt中提供了常用的信号和槽,但我们也需要定义自己的信号与槽。必须保证发送者和接受者都是QObject的子类。

                信号:signal  :  void  Newspaper() ;  这样就定义了一个Neswpaper的信号。

                 槽   :public slots  : void  ReceiveNewspaper() ; 这样就定义了一个ReceiveNewspaper的槽,当然可以给槽写具体的执行函数。

                链接:套用信号槽的格式connect就行。

                注: emit Newspaper  表示触发Newspaper信号。

        二、MainWindow

                 主要是菜单栏(menu),工具栏(tool),状态栏(status)的建立过程。

              1、添加动作Action(以openAction为例)

               openAction =new QAction(tr("&Open"),this);                                            // 命名
               openAction->setIcon(QIcon(":/images/open"));                                        //添加资源图标
               openAction->setShortcut(QKeySequence::Open);                                  //添加快捷键
               openAction->setStatusTip(tr("Open a existing spreadsheet file"));         //添加状态栏显示     

               2、创建菜单栏

               fileMenu = menuBar()->addMenu(tr("&File")); 
               fileMenu->addAction(openAction);

               3、创建工具栏

               fileToolBar = addToolBar(tr("&File"));
               fileToolBar->addAction(openAction);

               4、创建状态栏

               statusBar();

               5、资源文件

                新建“Qt资源文件”后,添加需要的图片即可。

         三、布局

                        布局目前使用到的主要有QHBoxLayout(水平),QVBoxLayout(垂直),QGridLayout(网格)。每个layout都可以相互组合,形成更大的layout,用法是

                 MainLayout->addLayout(leftlayout),把leftlayout加入到MainLayout中

               1、 QHBoxLayout基本用法

                    layout = new QHBoxLayout;

                    layout->addWidget(xxx);

                    SetLayout(layout);

               2、QGridLayout基本用法

                     layout = new QGridLayout;

                     layout->addWidget(A,0,0);   //A放在第一行第一列

                     layout->addWidget(b,0,1);    //B放在第一行第二列

          

 


 

 

 

 

           

 

 

 

                  

 

                     

                     

    

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值