WeChatMsg/app/Ui/chat/group/CreateGroup.py
2023-01-11 13:04:19 +08:00

108 lines
3.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- coding: utf-8 -*-
"""
@File : CreateGroup.py
@Author : Shuaikang Zhou
@Time : 2022/12/20 22:55
@IDE : Pycharm
@Version : Python3.10
@comment : ···
"""
from .create_groupUi import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from ....DB import data
import time
class CreateGroupView(QWidget, Ui_Frame):
backSignal = pyqtSignal(str)
gidSignal = pyqtSignal(int)
def __init__(self, username, parent=None):
super(CreateGroupView, self).__init__(parent)
self.setupUi(self)
self.tips.setVisible(False)
self.setWindowTitle('创建群聊')
self.setWindowIcon(QIcon('./data/icon.png'))
self.username = username
# self.register_2.clicked.connect(self.login_)
self.back.clicked.connect(self.btnEnterClicked)
self.back.clicked.connect(self.btnEnterClicked)
self.btn_set_gAvatar.clicked.connect(self.up_avatar)
self.btn_create.clicked.connect(self.create_group)
self.avatar = None
def up_avatar(self):
path, _ = QFileDialog.getOpenFileName(self, 'Open file', r'..', "Image files (*.png;*.jpg)")
if path:
try:
pixmap = QPixmap(path).scaled(80, 80) # 按指定路径找到图片
self.avatar_img.setPixmap(pixmap) # 在label上显示图片
self.avatar = path
except:
self.error.setText('头像不存在')
def create_group(self):
# self.close()
if not self.avatar:
self.error.setText('请上传头像')
return False
name = self.group_name.text()
intro = self.group_intro.toPlainText()
# print(intro,self.username)
flag = data.create_group(
g_name=name,
g_admin=self.username,
g_intro=intro
)
# print('123456')
# print(flag)
if not flag:
self.error.setText('创建失败')
# print('yonghu已经存在')
else:
self.error.setText('创建成功')
self.error.setStyleSheet("color:black")
avatar = data.get_avator(str(flag))
# new_path = '/'.join(avatar.split('/')[:-1])+'/'
# print(avatar)
if '.' in avatar[-10:]:
avatar = '.'.join(avatar.split('.')[:-1])
# print(avatar)
data.mycopyfile(self.avatar, avatar + '.png')
self.tips.setVisible(True)
self.thread = MyThread() # 创建一个线程
self.thread.sec_changed_signal.connect(self._update) # 线程发过来的信号挂接到槽update
self.thread.start()
self.gidSignal.emit(int(flag))
def _update(self, sec):
# self.time.setProperty("value", float(sec))
# self.time.setDigitCount(sec)
# self.time.s
if sec == 0:
self.btnEnterClicked()
def btnEnterClicked(self):
print("退出创建群聊界面")
# 中间可以添加处理逻辑
self.backSignal.emit("back")
self.close()
def btnExitClicked(self):
print("Exit clicked")
self.close()
class MyThread(QThread):
sec_changed_signal = pyqtSignal(int) # 信号类型int
def __init__(self, sec=1000, parent=None):
super().__init__(parent)
self.sec = 2 # 默认1000秒
def run(self):
for i in range(self.sec, -1, -1):
self.sec_changed_signal.emit(i) # 发射信号
time.sleep(1)