Qt常用控件

  1. 按钮类
	1.1 QPushButton
	1.2 QToolButton
	1.3 QRadioButton

1.QRadioButton的Aotuexclusive属性(默认被勾选)自动排外,有且只有一个QRadio被Clicked。SetChecked(bool)可以设置手动排外。

  1. item
	2.1 QWidget
  1. 容器类
	3.1 QStackWidget
	3.2 QWidget
	3.3 QFrame (可带边框)
  1. 编辑类
	4.1 QCombox
	4.2 QLineEdit
	4.3 QTextEdit
  1. 显示类
	5.1 QLabel
	5.2 QLcdNumber
	5.3 QProgressBar

布局

	1. 水平
	2. 垂直
	3. 网格
	4. 详细-布局属性
	5. 大小策略(Fixed等等,Min\MaxSize)
	6. 容器(分类)
	7. 弹簧

自定义控件

	a) ui的控件和自定义控件的父类要相同
	b) 选中ui控件-提升

常用事件处理

	1) app.exec() :  一直等待事件发生
	2) eventFilter():  首先经过事件过滤器   -> 转发给各个控件
	3) event(): 每个控件有本身的event() -> 调用各自的事件处理函数(一般重写派生类,写对应的虚函数比较安全)

重构keyPressEvent限制TextEdit输入

1.新建C++类(基类可选择QWidget,之后手动修改成QTextEdit)
2.重构虚函数 protected:
						void keyPressEvent
						
void TcpWriteText::keyPressEvent(QKeyEvent *ev)
{
    if(ev->key() >= Qt::Key_G && ev->key() <= Qt::Key_Z )
    {

    }
    else
    {
        QTextEdit::keyPressEvent(ev);
    }
}

3.提升为自定义控件,选择基类,输入类名,添加,设为全局,提升。


正则表达式限制LineEdit输入


#include  

QRegExp regx("[0-9]+$");
QPointer pQValidator = new QRegExpValidator(regx,ui->LECustomTime);
ui->LECustomTime(LineEdit)->setValidator(pQValidator);

你可能感兴趣的:(Qt常用控件)