Qt学习笔记2

来源:互联网 发布:emule mac 编辑:程序博客网 时间:2024/05/14 05:30

一。创建对话框的步骤

1.创建并初始化窗口部件

2.吧子窗口部件放入布局中

3.设置tab

4.建立信号-槽之间的链接

5.实现对话框的自定义槽

二。“&abc” 如何改成a_bc; 单击edit -> edit Buddies 进入一种允许设置窗口部件伙伴的特殊模式,单击该对象拖向主窗体某部位,是松开即可。

然后离开伙伴模式:edit ---> edit Widgets.

 2.如何让多个对象对齐:单击对象1,按shift单击对象2,然后选择Form --> Lay out Verticall  表示垂直对齐呗。

3.注意,我们如果要包含goto.ui文件 ,那么我们应该这样包含:#include "ui_goto.h".因为xx.ui会最后生成ui_xx.h文件。

*。我们可以通过创建一个新类来继承该类,那么就可以实现我们所需要的功能的同时,又可以防止破坏.ui文件的结构。:通过简单的另外一个间接层就解决软件的任何问题。

命名的惯例:将该类与uic所生成的类具有同样的名字,仅仅是吧前面的Ui::前缀去掉;

即:Ui::GoToDialog  ===>  GoToDialog 

class GoToDialog : public QDialog, public Ui::GoToCellDialog

{ Q_OBJECT

public:

}

==>

GoToDialog::GoToDialog( QWidget *parent )

{

setupUi( this );  // 初始化窗体,讲父辈的东东都初始化过来,尤其是信号和槽的绑定。

}

4.Qt中的3个检验器:限制输入范围

1.QIntValidator QDoubleValidator QRegExpValidator

QRegExp regExp("[A-Z]");  lineEdit-> setValidator(new QRegExpValidator(regExp, this,));

5.父对象会依次删除其子对象,这样给内存管理轻松,但是那些使用new来创建的没有父对象的童鞋来说呢,我们是需要手动去delete他们的。

6.单击 Edit ------> Edit Signals/Slots 可以通过界面设置信号和槽。 Edit ----> Edit Widgets.  ->sizeHint()理想大小哦

=================================

一。动态对话框

1.它不需要通过uic把.ui文件转换成c++代码,相反,它是在程序运行的时候使用QUiLoader类载入该文件的:

 QUiLoader uiLoader;

QFile file("sort.ui");

QWidget *sordDialog = uiLoader.load(&file);

if(sortDialog){ ... }

可以使用QObject::findChild<T>()来访问这个窗体中个各个子窗口部件:

QComboBox *primaryColumnCombo = sortDialog -> findChild<QComboBox *>("primaryColumnCombo");

if( primaryColumnCombo){  ...  }


*.QUiLoader类放在一个独立的库中,如要要使用它,必须要在.pro文件中加入:CONFIG += uitools

// 动态对话框使不重新编译应用程序而可以改变窗体布局的做法成为可能。也可以在需要的时候才去创建所有的其他窗体。

QTreeView QListView QTabWidget QTableView QListView 






原创粉丝点击