VB.NET中对话框设置属性的面向对象方法

需积分: 0 0 下载量 165 浏览量 更新于2024-07-13 收藏 362KB PPT 举报
在"利用对话框设置属值 - VB.NET (chapter02)"的内容中,主要讲解了Visual Basic .NET (VB.NET)编程语言中面向对象编程的基础概念和实践。章节2.1首先介绍了面向对象的基本原理,包括抽象数据类型、封装性、消息和方法、以及类和类层次。抽象数据类型强调了对象的共性描述,数据和操作的集合构成一个对象。封装性则是通过隐藏对象内部实现,仅暴露对外接口,确保了软件的模块化和易维护性。 消息和方法的概念在VB.NET中尤为重要,它们构成了对象之间的通信机制。消息是请求对象执行特定操作的指令,发送者与接收者通过消息传递交互。类被定义为对象的模板,包含了数据和行为,可以有子类继承其特性,形成类的层次结构,增强了代码复用和扩展性。 章节中还涉及了如何在编程中设置属性,特别是提到对话框中显示的省略号(...)代表可以调用相应的对话框来设置复杂或用户自定义的属性值。这对于实际编程中处理用户输入和设置控件属性非常实用,有助于提升用户体验。 这部分内容对于理解和运用VB.NET进行面向对象的程序设计,尤其是理解如何创建和管理对象,以及如何通过对话框进行属性设置,是非常关键的知识点。通过学习这些概念,开发者能够更好地构建复杂的应用程序,并提升软件的灵活性和可维护性。

#include "mylogin.h" mylogin::mylogin(QWidget *parent) : QDialog(parent) { this->init_ui(); connect(this->bnt_login, &QPushButton::clicked, this, &mylogin::do_login); connect(this->bnt_register, &QPushButton::clicked , this ,&mylogin::do_enroll); } mylogin::~mylogin() { } void mylogin::init_ui() { this->setFixedSize(QSize(600,350)); this->setWindowTitle(tr("岑超升")); this->setWindowIcon(QIcon(":/src/1.png")); this->lb1 = new QLabel(); this->lb2 = new QLabel(); this->lb3 = new QLabel(); this->lb1->setFixedSize(QSize(560,200)); QPixmap pic; pic.load(":/src/2.png"); //this->lb1->setPixmap(pic.scaled(this->lb1->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation)); this->lb1->setPixmap(QPixmap(":/src/2.png")); this->lb2->setText(tr("用户名:")); this->lb3->setText(tr("密 码:")); this->usr_name_le = new QLineEdit(); //这两个参数后面传入信号中去,然后emit发射出去 this->usr_pass_le = new QLineEdit(); this->usr_pass_le->setEchoMode(QLineEdit::Password); this->bnt_login = new QPushButton(tr("登 陆")); this->bnt_register = new QPushButton(tr("注 册")); this->hb1 = new QHBoxLayout(); this->hb2 = new QHBoxLayout(); this->hb3 = new QHBoxLayout(); this->hb1->addWidget(this->lb2); this->hb1->addWidget(this->usr_name_le); this->hb2->addWidget(this->lb3); this->hb2->addWidget(this->usr_pass_le); this->hb3->addWidget(this->bnt_login); this->hb3->addWidget(this->bnt_register); this->vb1 = new QVBoxLayout(); this->vb1->addWidget(this->lb1); this->vb1->addLayout(this->hb1); this->vb1->addLayout(this->hb2); this->vb1->addLayout(this->hb3); this->setLayout(this->vb1); } void mylogin::do_login() { emit sig_login(usr_name_le->text(), usr_pass_le->text()); //需要把这里输入的账号密码信息发送到myapp那去,用到的函数是emit //需要自定义一个信号,sig_login //这个槽函数能够发出信号 } void mylogin::do_enroll() { emit sig_enroll(); }解释每一行代码

2023-06-09 上传