QTday1作业
自由发挥一个应用程序的登录界面,使用ui界面实现,基本功能都需要实现
、
#include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent)
{this->resize(400,560);QLabel *lab = new QLabel(this);lab->resize(400,150);QMovie *mv =new QMovie("D:/缓存/pictrue/pictrue/qq2.gif");lab->setMovie(mv);mv->start();lab->setScaledContents(true);QLabel *lab3 = new QLabel(this);lab3->move(160,130);lab3->resize(60,60);lab3->setPixmap(QPixmap("D:/缓存/pictrue/pictrue/qq.png"));lab3->setScaledContents(true);lab3->setStyleSheet("border-radius:50px");QLabel *lab1 = new QLabel(this);lab1->move(80,250);lab1->resize(50,20);lab1->setText("账号");lab1->setStyleSheet("background-color:yellow");QLabel *lab2 = new QLabel(this);lab2->move(80,300);lab2->resize(50,20);lab2->setText("密码");lab2->setStyleSheet("background-color:yellow");QLineEdit *edit2 = new QLineEdit(this);edit2->move(130,250);edit2->setPlaceholderText("QQ号码/手机/邮箱");QLineEdit *edit1 = new QLineEdit(this);edit1->setEchoMode(QLineEdit::Password);edit1->move(130,300);edit1->setPlaceholderText("密码");//登录/取消按钮QPushButton *btn1 = new QPushButton("登录",this);btn1->move(100,400);btn1->resize(60,40);QPushButton *btn2 = new QPushButton("取消",this);//移动btn2->move(220,400);btn2->resize(60,40);}MyWidget::~MyWidget()
{
}
考试编程题
#include <iostream>
#include <cstring>class MyString {
private:char* data;size_t len;
public:MyString() : data(nullptr), len(0) {}MyString(const char* str){if (str == nullptr){data = nullptr;len = 0;} else{len = strlen(str);data = new char[len + 1];strcpy(data, str);}}MyString(const MyString &other){len = other.len;if (other.data == nullptr){data = nullptr;} else{data = new char[len + 1];strcpy(data, other.data);}}~MyString(){delete[] data;}MyString& operator=(const MyString& other){if (this != &other){delete[] data;len = other.len;if (other.data == nullptr){data = nullptr;} else{data = new char[len + 1];strcpy(data, other.data);}}return *this;}size_t getLength() const{return len;}MyString operator+(const MyString& other) const{MyString temp;temp.len = len + other.len;if (temp.len == 0){temp.data = nullptr;return temp;}temp.data = new char[temp.len + 1];if (data != nullptr){strcpy(temp.data, data);}if (other.data != nullptr){strcat(temp.data, other.data);}return temp;}bool operator>(const MyString& other) const{if (data == nullptr && other.data == nullptr){return false;} else if (data == nullptr){return false;} else if (other.data == nullptr){return true;}return strcmp(data, other.data) > 0;}friend std::ostream &operator<<(std::ostream& os, const MyString &str){if (str.data != nullptr){os << str.data;}return os;}friend std::istream& operator>>(std::istream &is, MyString &str){char buffer[1024];is >> buffer;delete[] str.data;str.len = strlen(buffer);if (str.len == 0){str.data = nullptr;} else{str.data = new char[str.len + 1];strcpy(str.data, buffer);}return is;}
};int main() {MyString s1("Hello");std::cout << "s1: " << s1 << " len: " << s1.getLength() << std::endl;MyString s2 = s1;std::cout << "s2: " << s2 << std::endl;MyString s3;s3 = s1;std::cout << "s3: " << s3 << std::endl;MyString s4 = s1 + MyString(" World");std::cout << "s4 : " << s4 << " len: " << s4.getLength() << std::endl;std::cout << "s1 > s4? " << (s1 > s4 ? "Yes" : "No") << std::endl;MyString s5;std::cout << "please s5: ";std::cin >> s5;std::cout << "s5: " << s5 << " len: " << s5.getLength() << std::endl;return 0;
}
思维导图