1。 信号(signals); //发送消息[宏]
2。 槽 (slots); //接受消息 //系统的有 quit(); close();
3。 布局(layouts).
widget :
1. QPushButton;
2. QLabel;
3. QFont("Times", 18, QFont::Bold);
4. QObject::connect(); --每个Qt对象可以有信号(发送消息)与槽(接受消息).
5. QApplication::setFont()--改变整个应用程序的默认字体
6. QSlider;--拖动范围条
7. QSpinBox;--输入范围盒子
8. QWidget;--界面元素基类
9. QHBoxLayout;--布局;
10. QLineEdit;
11. QCheckBox
12.
--------
1. tr(" ");
2. setBuddy();
3. emit [发送消息]
----------------------------------------------------------------昏割线--------------------------------------------------------------------
但是用Designer时,发现不能使用自己定义的槽. --自动生成使用的是组合使用ui
#ifndef GOTOCELLDIALOG_H #define GOTOCELLDIALOG_H #include <QtGui/QDialog> #include "ui_gotocelldialog.h" class GotoCelldialog : public QDialog { Q_OBJECT public: GotoCelldialog(QWidget *parent = 0, Qt::WFlags flags = 0); ~GotoCelldialog(); private: Ui::GoToCellDialogl ui; }; #endif // GOTOCELLDIALOG_H
--------------------------------------------------------------昏哥线--------------------------------------------------------------
---于是C++ Gui 就提出使用多继承来使用ui.
#ifndef GOTOCELLDIALOG_H #define GOTOCELLDIALOG_H #include <QtGui/QDialog> #include "ui_gotocelldialog.h" class GotoCelldialog : public QDialog, public Ui::GoToCellDialogl { Q_OBJECT public: GotoCelldialog(QWidget *parent = 0, Qt::WFlags flags = 0); ~GotoCelldialog(); private slots: void on_lineEdit_textChanged(); }; #endif // GOTOCELLDIALOG_H
---------------------------------------------------------华丽分割线-------------------------------------------------------------
使用生成的ui_采用的是组合#include "gotocelldialog.h" GotoCelldialog::GotoCelldialog(QWidget *parent, Qt::WFlags flags) : QDialog(parent, flags) { setupUi(this); //TODO QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}"); lineEdit->setValidator(new QRegExpValidator(regExp, this)); connect(okButton, SIGNAL(clicked()), this, SLOT(accept())); connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject())); connect(lineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(on_lineEdit_textChanged())); } GotoCelldialog::~GotoCelldialog() { } void GotoCelldialog::on_lineEdit_textChanged() { okButton->setDisabled(!lineEdit->hasAcceptableInput()); }
转载于:https://blog.51cto.com/tuoxie174/409733