1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #include "serversetting.h"
- #include "ui_serversetting.h"
- ServerSetting::ServerSetting(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::ServerSetting)
- {
- ui->setupUi(this);
- initForm();
- initWidget();
- }
- ServerSetting::~ServerSetting()
- {
- delete ui;
- }
- void ServerSetting::setAddress(QString address)
- {
- ui->ledAddress->setText(address);
- }
- void ServerSetting::setUserName(QString username)
- {
- ui->ledPort->setText(username);
- }
- void ServerSetting::setPassword(QString password)
- {
- ui->ledPwd->setText(password);
- }
- void ServerSetting::initForm()
- {
- this->setWindowFlag(Qt::FramelessWindowHint);
- this->setWindowFlags(this->windowFlags() | Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint);
- setAttribute(Qt::WA_TranslucentBackground);
- ui->ledAddress->setPlaceholderText("example.com/ip:port");
- ui->ledPort->setPlaceholderText("admin");
- }
- void ServerSetting::initWidget()
- {
- connect(ui->btnCencel, &QPushButton::clicked, [&](){
- this->hide();
- });
- connect(ui->btnOk, &QPushButton::clicked, [&](){
- emit okClicked(ui->ledAddress->text(), ui->ledPort->text().toInt());
- this->hide();
- });
- this->setWindowModality(Qt::ApplicationModal);
- }
- void ServerSetting::on_btnOk_clicked()
- {
- if (ui->ledAddress->text().isEmpty() || ui->ledPort->text().isEmpty() ||
- ui->ledPwd->text().isEmpty())
- return;
- QString address = ui->ledAddress->text();
- QString userName = ui->ledPort->text();
- QString password = ui->ledPwd->text();
- emit signal_updateServerConfig(address, userName, password);
- TCHttpService::getInstance()->setConfiguration(userName, password, address);
- }
- void ServerSetting::paintEvent(__attribute__((unused))QPaintEvent *event)
- {
- // QStyleOption opt;
- // #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
- // opt.init(this);
- // #else
- // opt.initFrom(this);
- // #endif
- // QPainter painter(this);
- // style()->drawPrimitive(QStyle::PE_Widget, &opt, &painter, this);
- QPainter painter(this);
- painter.setRenderHint(QPainter::Antialiasing); // 抗锯齿
- // 绘制圆角背景
- QPainterPath path;
- path.addRoundedRect(rect(), 15, 15); // 30px 圆角半径
- painter.fillPath(path, Qt::white); // 填充白色
- }
|