#1.UI界面布局
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
// 初始化窗口
ui->setupUi(this);
this->setWindowTitle(tr("TCP Server"));
bgColor = "#FFFFFF";
borderColor = "#A6B5B8";
borderRadius = 3;
ui->label->setObjectName("label");
ui->label->setText(tr("IP:"));
ui->label->move(793,70);
ui->txtIP1->setObjectName("txtIP1");
ui->txtIP1->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
connect(ui->txtIP1, SIGNAL(textChanged(QString)), this, SLOT(textChanged(QString)));
ui->txtIP2->setObjectName("txtIP1");
ui->txtIP2->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
connect(ui->txtIP2, SIGNAL(textChanged(QString)), this, SLOT(textChanged(QString)));
ui->txtIP3->setObjectName("txtIP1");
ui->txtIP3->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
connect(ui->txtIP3, SIGNAL(textChanged(QString)), this, SLOT(textChanged(QString)));
ui->txtIP4->setObjectName("txtIP1");
ui->txtIP4->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
connect(ui->txtIP4, SIGNAL(textChanged(QString)), this, SLOT(textChanged(QString)));
//设置IP地址校验过滤
QRegExp regExp("(2[0-5]{2}|2[0-4][0-9]|1?[0-9]{1,2})");
QRegExpValidator *validator = new QRegExpValidator(regExp, this);
ui->txtIP1->setValidator(validator);
ui->txtIP2->setValidator(validator);
ui->txtIP3->setValidator(validator);
ui->txtIP4->setValidator(validator);
//绑定事件过滤器,识别键盘按下
ui->txtIP1->installEventFilter(this);
ui->txtIP2->installEventFilter(this);
ui->txtIP3->installEventFilter(this);
ui->txtIP4->installEventFilter(this);
ui->frame->setObjectName("frameIP");
ui->frame->resize(200,50);
ui->frame->move(830,50);
QStringList qss;
qss.append(QString("QFrame#frameIP{border:1px solid %1;border-radius:%2px;}").arg(borderColor).arg(borderRadius));
qss.append(QString("QLabel{min-width:15px;background-color:%1;}").arg(bgColor));
qss.append(QString("QLineEdit{background-color:%1;border:none;}").arg(bgColor));
qss.append(QString("QLineEdit#txtIP1{border-top-left-radius:%1px;border-bottom-left-radius:%1px;}").arg(borderRadius));
qss.append(QString("QLineEdit#txtIP4{border-top-right-radius:%1px;border-bottom-right-radius:%1px;}").arg(borderRadius));
ui->frame->setStyleSheet(qss.join(""));
QVBoxLayout *verticalLayout = new QVBoxLayout(this);
verticalLayout->setMargin(0);
verticalLayout->setSpacing(0);
verticalLayout->addWidget(ui->frame);
ui->layout->setParent(ui->frame);
ui->layout->setMargin(0);
ui->layout->setSpacing(0);
ui->layout->setParent(ui->frame);
ui->layout->setMargin(0);
ui->layout->setSpacing(0);
ui->layout->addWidget(ui->txtIP1);
ui->layout->addWidget(ui->labDot1);
ui->layout->addWidget(ui->txtIP2);
ui->layout->addWidget(ui->labDot2);
ui->layout->addWidget(ui->txtIP3);
ui->layout->addWidget(ui->labDot3);
ui->layout->addWidget(ui->txtIP4);
ui->portlabel->setText(tr("portnum:"));
ui->portlabel->move(760,138);
ui->PortLineEdit->move(830,130);
}
以上是部分代码,参考他人编写的部分控件,初步的搭建了UI界面,待完善。。。
以上只是记录学习笔记。。。。。。
##待续。。。。。。。。。
IP地址输入框改编他人的控件,传送门。。。