def move_window_to_cursor(widget: QWidget): width, height = widget.width(), widget.height() pos = QCursor.pos() pos.setX(pos.x() - width / 2) pos.setY(pos.y() - height / 2) widget.move(pos)
from PyQt5.Qt import QApplication, QWidget, QLabel import sys if __name__ == '__main__': # 创建QApplication类的实例 app = QApplication(sys.argv) # 创建一个窗口 window = QWidget() # 设置窗口标题 window.setWindowTitle('Hello World!') # 设置窗口尺寸 window.resize(400, 400) # 移动窗口位置 window.move(1000, 300) # 创建label控件 label = QLabel(window) # 为控件设置文本 label.setText('Hello World!') # 移动空间的位置 label.move(160, 160) # 显示窗口 window.show() # 进入程序的主循环,并通过exit函数确保主循环安全结束 sys.exit(app.exec_())
class SingleRank(QWidget): single_rk_comeback_sg = pyqtSignal() detail_sg = pyqtSignal(str) def __init__(self, parent=None): super(SingleRank, self).__init__(parent) self.desktop = QApplication.desktop() self.screenRect = self.desktop.screenGeometry() self.h = self.screenRect.height() self.w = self.screenRect.width() self.xr = self.w / 930 self.yr = self.h / 640 self.zr = min(self.xr, self.yr) self.inlist = {} self.back2_wi = QWidget(self) self.rankexit_but = QPushButton(self) self.header1 = QLabel(self.back2_wi) self.comeback_but = QPushButton(self.back2_wi) self.next_but = QPushButton(self.back2_wi) self.table = QWidget(self.back2_wi) self.tablein = QGridLayout() self.headers = ['对局id', '分数', '时间', '详情'] self.set_ui() with open('rank.qss', 'r') as f: self.setStyleSheet(f.read()) def set_ui(self): self.setWindowTitle('SingleRank') self.setObjectName('singlerank') self.resize(self.w, self.h) effect = QGraphicsDropShadowEffect() effect.setOffset(10, 10) effect.setColor(QColor(0, 0, 0, 80)) effect.setBlurRadius(20) effect1 = QGraphicsDropShadowEffect() effect1.setOffset(10, 10) effect1.setColor(QColor(0, 0, 0, 80)) effect1.setBlurRadius(20) self.back2_wi.setObjectName('back') self.back2_wi.resize(self.xr * 793, self.yr * 534) self.back2_wi.move(self.xr * 69, self.yr * 53) self.back2_wi.setGraphicsEffect(effect) self.header1.setObjectName('header') self.header1.resize(self.xr * 172, self.yr * 36) self.header1.move(self.xr * 24, self.yr * 10) self.header1.setText('过往战绩') self.header1.setAlignment(Qt.AlignCenter) self.comeback_but.setObjectName('comeback') self.comeback_but.resize(self.xr * 80, self.yr * 36) self.comeback_but.move(self.xr * 67, self.yr * 467) self.comeback_but.setText('返回') self.comeback_but.clicked.connect(self.come_back) self.comeback_but.setGraphicsEffect(effect1) self.next_but.setObjectName('next') self.next_but.resize(self.zr * 38, self.zr * 38) self.next_but.move(self.xr * 725, self.yr * 468) self.next_but.setStyleSheet('border-radius:{}px;'.format(self.zr * 18)) self.next_but.clicked.connect(self.next) self.table.setObjectName('table') self.table.resize(self.xr * 746, self.yr * 382) self.table.move(self.xr * 24, self.yr * 61) self.tablein.setSpacing(0) self.tablein.setContentsMargins(0, 0, 0, 0) self.table.setLayout(self.tablein) li = ['#f5f0e3', '#cccccc'] for i in range(0, 5): for j in range(0, 4): if j == 3 and i != 0: exec('self.tableheader{}_{} = QPushButton()'.format(i, j)) exec( 'self.tableheader{}_{}.setMinimumHeight(self.yr *382/5)' .format(i, j)) exec('self.tableheader{}_{}.setText("详情")'.format(i, j)) exec( 'self.tableheader{}_{}.clicked.connect(self.details{})' .format(i, j, i)) else: exec('self.tableheader{}_{} = QLabel()'.format(i, j)) exec('self.tableheader{}_{}.setAlignment(Qt.AlignCenter)'. format(i, j)) if i == 0: exec('self.tableheader{}_{}.setObjectName("table_head")'. format(i, j)) exec('self.tableheader{}_{}.setText("{}")'.format( i, j, self.headers[j])) else: exec('self.tableheader{}_{}.setObjectName("table_unit")'. format(i, j)) exec( 'self.tableheader{}_{}.setStyleSheet("background-color:{};")' .format(i, j, li[(i + j) % 2])) exec('self.tablein.addWidget(self.tableheader{}_{}, {}, {})'. format(i, j, i, j)) self.back2_wi.setStyleSheet('#back{border-radius:' + str(self.zr * 20) + 'px;}#header{border-radius:' + str(self.zr * 15) + 'px;font-size:' + str(int(self.zr * 18)) + 'px;}#comeback{border-radius:' + str(self.zr * 15) + 'px;font-size:' + str(int(self.zr * 16)) + 'px;}#table_unit{font-size:' + str(int(self.zr * 18)) + 'px;}#table_head{font-size:' + str(int(self.zr * 20)) + 'px;font-weight:bold}') def come_back(self): self.single_rk_comeback_sg.emit() def get_list(self, info): if len(info) >= 4: li = info[:4] self.inlist = info[4:] else: li = info self.inlist = info self.set_table(li) def set_table(self, mp): lens = len(mp) for i in range(1, lens + 1): self.next_but.setEnabled(True) exec('self.tableheader{}_0.setText("{}")'.format( i, mp[i - 1]['id'])) exec('self.tableheader{}_1.setText("{}")'.format( i, mp[i - 1]['score'])) exec('self.tableheader{}_2.setText("{}")'.format( i, mp[i - 1]['time'])) if lens < 4: for i in range(lens + 1, 5): self.next_but.setEnabled(False) exec('self.tableheader{}_0.clear()'.format(i)) exec('self.tableheader{}_1.clear()'.format(i)) exec('self.tableheader{}_2.clear()'.format(i)) def next(self): if len(self.inlist) >= 4: li = self.inlist[:4] self.inlist = self.inlist[4:] else: li = self.inlist self.set_table(li) def details1(self): if self.tableheader1_0.text() != '': self.detail_sg.emit(self.tableheader1_0.text()) def details2(self): if self.tableheader2_0.text() != '': self.detail_sg.emit(self.tableheader2_0.text()) def details3(self): if self.tableheader3_0.text() != '': self.detail_sg.emit(self.tableheader3_0.text()) def details4(self): if self.tableheader4_0.text() != '': self.detail_sg.emit(self.tableheader4_0.text())
class Index(QWidget): show_mainindex_sg = pyqtSignal(int, str) show_register_sg = pyqtSignal() def __init__(self, parent=None): super(Index, self).__init__(parent) self.desktop = QApplication.desktop() self.screenRect = self.desktop.screenGeometry() self.h = self.screenRect.height() self.w = self.screenRect.width() self.xr = self.w / 930 self.yr = self.h / 640 self.zr = min(self.xr, self.yr) self.top_wi = QWidget(self) self.logo_la = QLabel(self.top_wi) self.ind_wi = QWidget(self) self.login_but = QPushButton(self.ind_wi) self.joke_but = QPushButton(self.ind_wi) self.register_but = QPushButton(self.ind_wi) self.imp_la = QLabel(self.ind_wi) self.account_le = QLineEdit(self.ind_wi) self.psw_le = QLineEdit(self.ind_wi) self.loading = QLabel(self) self.gif = QMovie('./resource/image/load.gif') self.set_ui() with open('index.qss', 'r') as f: self.setStyleSheet(f.read()) def set_ui(self): self.setWindowTitle('Login') self.setObjectName('index') self.resize(self.w, self.h) self.top_wi.setObjectName('top') self.top_wi.resize(930 * self.xr, 95 * self.yr) self.logo_la.setObjectName('logo') self.logo_la.resize(65 * self.xr, 65 * self.zr) self.logo_la.move(29 * self.xr, 16 * self.yr) effect = QGraphicsDropShadowEffect() effect.setOffset(10, 10) effect.setColor(QColor(0, 0, 0, 80)) effect.setBlurRadius(20) self.ind_wi.setObjectName('login') self.ind_wi.resize(327 * self.xr, 388 * self.yr) self.ind_wi.move(300 * self.xr, 150 * self.yr) self.ind_wi.setGraphicsEffect(effect) self.joke_but.setObjectName('joke') self.joke_but.resize(130 * self.xr, 30 * self.yr) self.joke_but.move(76 * self.xr, 234 * self.yr) self.joke_but.setFlat(True) self.joke_but.setText('忘记密码?我也没办法') self.login_but.setObjectName('button') self.login_but.move(64 * self.xr, 260 * self.yr) self.login_but.resize(202 * self.xr, 45 * self.yr) self.login_but.setText('登陆') self.login_but.clicked.connect(self.login) self.register_but.setObjectName('button') self.register_but.move(64 * self.xr, 315 * self.yr) self.register_but.resize(202 * self.xr, 45 * self.yr) self.register_but.setText('注册') self.register_but.clicked.connect(self.show_register) self.imp_la.setObjectName('imp_label') self.imp_la.resize(100 * self.zr, 100 * self.zr) self.imp_la.move(115 * self.xr + 100 * (self.xr - self.zr) / 2, 15 * self.yr) self.imp_la.setStyleSheet('border-radius:{}px;'.format(self.zr * 49)) self.account_le.setObjectName('input') self.account_le.setTextMargins(20, 0, 0, 0) self.account_le.resize(213 * self.xr, 45 * self.yr) self.account_le.move(59 * self.xr, 126 * self.yr) self.account_le.setPlaceholderText('账号') self.psw_le.setObjectName('input') self.psw_le.setTextMargins(20, 0, 0, 0) self.psw_le.resize(213 * self.xr, 45 * self.yr) self.psw_le.move(59 * self.xr, 181 * self.yr) self.psw_le.setPlaceholderText('密码') self.psw_le.setEchoMode(QLineEdit.Password) self.loading.setObjectName('load') self.loading.resize(self.xr * 150, self.yr * 150) self.loading.move(self.xr * 760, self.yr * 500) self.loading.setScaledContents(True) self.loading.setMovie(self.gif) self.gif.start() self.ind_wi.setStyleSheet('#input{border-radius:' + str(self.zr * 20) + 'px;}' + '#button{border-radius:' + str( self.zr * 20) + 'px;' + 'font-size:' + str(int(self.zr * 18)) + 'px;}') def login(self): account_p = self.account_le.text() psw_p = self.psw_le.text() dic = login(account_p, psw_p) if dic['status'] == 0: self.show_mainindex_sg.emit(dic['data']['user_id'], dic['data']['token']) elif dic['status'] == 1: self.account_le.clear() self.psw_le.clear() self.account_le.setStyleSheet('border:4px solid;border-color:red;') self.account_le.setPlaceholderText('网络超时') else: self.account_le.clear() self.psw_le.clear() self.account_le.setStyleSheet('border:4px solid;border-color:red;') self.account_le.setPlaceholderText('账号不存在或密码错误') def show_register(self): self.show_register_sg.emit()
class ResultSingle(QWidget): result_exit_sg = pyqtSignal() def __init__(self, parent=None): super(ResultSingle, self).__init__(parent) self.desktop = QApplication.desktop() self.screenRect = self.desktop.screenGeometry() self.h = self.screenRect.height() self.w = self.screenRect.width() self.xr = self.w / 930 self.yr = self.h / 640 self.zr = min(self.xr, self.yr) self.back1_wi = QWidget(self) self.resexit_but = QPushButton(self) self.id_head = QLabel(self.back1_wi) self.role1 = QWidget(self.back1_wi) self.role1_detail = QWidget(self.role1) self.role4 = QWidget(self.back1_wi) self.role4_detail = QWidget(self.role4) self.role4_special = QLabel(self.role4) self.set_ui() with open('result.qss', 'r') as f: self.setStyleSheet(f.read()) def set_ui(self): self.setWindowTitle('Result') self.setObjectName('result') self.resize(self.w, self.h) effect = QGraphicsDropShadowEffect() effect.setOffset(10, 10) effect.setColor(QColor(0, 0, 0, 80)) effect.setBlurRadius(20) self.back1_wi.setObjectName('back') self.back1_wi.resize(self.xr * 793, self.yr * 534) self.back1_wi.move(self.xr * 69, self.yr * 53) self.back1_wi.setGraphicsEffect(effect) back_x = 69 back_y = 53 effect1 = QGraphicsDropShadowEffect() effect1.setOffset(10, 10) effect1.setColor(QColor(0, 0, 0, 80)) effect1.setBlurRadius(20) effect4 = QGraphicsDropShadowEffect() effect4.setOffset(10, 10) effect4.setColor(QColor(0, 0, 0, 80)) effect4.setBlurRadius(20) self.resexit_but.setObjectName('resexit') self.resexit_but.resize(self.zr * 38, self.zr * 38) self.resexit_but.move(self.xr * 834, self.yr * 36) self.resexit_but.clicked.connect(self.result_exit) self.resexit_but.setStyleSheet('border-radius:{}px;'.format(self.zr * 18)) self.id_head.setObjectName('id_head') self.id_head.resize(self.xr * 350, self.yr * 140) self.id_head.move(self.xr * 225, self.yr * 195) # self.id_head.setText('战局ID:4396') self.id_head.setAlignment(Qt.AlignCenter) self.id_head.setStyleSheet('font-size:{}px;'.format(int(self.zr * 50))) self.role1.setObjectName('role') self.role1.resize(self.xr * 716, self.yr * 87) self.role1.move(self.xr * (108 - back_x), self.yr * (77 - back_y)) self.role1.setGraphicsEffect(effect1) # self.role1_head.setText('test') self.role1_detail.setObjectName('role_detail') self.role1_detail.resize(self.xr * 606, self.yr * 87) self.role1_detail.move(self.xr * 110, self.yr * 0) self.role4.setObjectName('role') self.role4.resize(self.xr * 716, self.yr * 87) self.role4.move(self.xr * (108 - back_x), self.yr * (467 - back_y)) self.role4.setGraphicsEffect(effect4) self.role4_detail.setObjectName('role_detail') self.role4_detail.resize(self.xr * 606, self.yr * 87) self.role4_detail.move(self.xr * 110, self.yr * 0) self.role4_special.setObjectName('role_special') self.role4_special.resize(self.xr * 88, self.yr * 36) self.role4_special.move(self.xr * 70, self.yr * 26) self.role4_special.setAlignment(Qt.AlignCenter) for i in range(1, 14): if i >= 9: xp = 416 t = 9 elif i >= 4: xp = 239 t = 4 else: xp = 108 t = 1 if i == 3 or i == 8 or i == 13: exec('self.role4_lv{}=QLabel(self.role4_detail)'.format(i)) exec('self.role4_lv{}.resize(self.xr*46,self.yr*67)'.format(i)) exec('self.role4_lv{}.move(self.xr*(xp+({}-t)*20)+90,self.yr*10)'.format(i, i)) exec('self.role4_lv{}.setStyleSheet("font-size:{}px;")'.format(i, int(self.zr * 17))) # exec('self.role4_lv{}.setText(change_vertical(" 葫芦"))'.format(i)) exec('self.role4_lv{}.setAlignment(Qt.AlignCenter)'.format(i)) exec('self.role1_card{}=QLabel(self.role1_detail)'.format(i)) exec('self.role1_card{}.setObjectName("card")'.format(i)) exec('self.role1_card{}.resize(self.xr*46,self.yr*67)'.format(i)) exec('self.role1_card{}.move(self.xr*i*33,self.yr*10)'.format(i)) exec('self.role1_card{}.setScaledContents(True)'.format(i)) exec('self.role4_card{}=QLabel(self.role4_detail)'.format(i)) exec('self.role4_card{}.setObjectName("card")'.format(i)) exec('self.role4_card{}.resize(self.xr*46,self.yr*67)'.format(i)) exec('self.role4_card{}.move(self.xr*(xp+({}-t)*20),self.yr*10)'.format(i, i)) exec('self.role4_card{}.setScaledContents(True)'.format(i)) self.back1_wi.setStyleSheet( '#back{border-radius:' + str(self.zr * 25) + 'px;}#role{border-radius:' + str( self.zr * 18) + 'px;}#role_head{border-radius:' + str(self.zr * 15) + 'px;font-size:' + str( int(self.zr * 16)) + 'px;}#role_special{font-size:' + str(int(self.zr * 18)) + 'px;}') def result_exit(self): self.result_exit_sg.emit() def set_role(self, info): self.id_head.setText('战局ID:{}'.format(info['id'])) self.role4_special.setText('{}'.format('散牌')) i = 1 for card in info['origin_cards']: exec('self.role1_card{}.setPixmap(QPixmap("./resource/image/{}.jpg"))'.format(i, card)) i += 1 t = 3 j = 1 for de in info['cards']: exec('self.role4_lv{}.setText("{}")'.format(t, de['lv'])) for card in de["card"]: exec('self.role4_card{}.setPixmap(QPixmap("./resource/image/{}.jpg"))'.format(j, card)) j += 1 t += 5
class Register(QWidget): register_ok_sg = pyqtSignal() def __init__(self, parent=None): super(Register, self).__init__(parent) self.desktop = QApplication.desktop() self.screenRect = self.desktop.screenGeometry() self.h = self.screenRect.height() self.w = self.screenRect.width() self.xr = self.w / 930 self.yr = self.h / 640 self.zr = min(self.xr, self.yr) self.top_wi = QWidget(self) self.logo_la = QLabel(self.top_wi) self.ind_wi = QWidget(self) self.register_but = QPushButton(self.ind_wi) self.imp_la = QLabel(self.ind_wi) self.account_le = QLineEdit(self.ind_wi) self.psw_le = QLineEdit(self.ind_wi) self.name_le = QLineEdit(self.ind_wi) self.set_ui() with open('index.qss', 'r') as f: self.setStyleSheet(f.read()) def set_ui(self): self.setWindowTitle('Register') self.setObjectName('register') self.resize(self.w, self.h) self.top_wi.setObjectName('top') self.top_wi.resize(930 * self.xr, 95 * self.yr) self.logo_la.setObjectName('logo') self.logo_la.resize(65 * self.xr, 65 * self.zr) self.logo_la.move(29 * self.xr, 16 * self.yr) effect = QGraphicsDropShadowEffect() effect.setOffset(10, 10) effect.setColor(QColor(0, 0, 0, 80)) effect.setBlurRadius(20) self.ind_wi.setObjectName('login') self.ind_wi.resize(327 * self.xr, 388 * self.yr) self.ind_wi.move(300 * self.xr, 150 * self.yr) self.ind_wi.setGraphicsEffect(effect) self.register_but.setObjectName('button') self.register_but.move(64 * self.xr, 315 * self.yr) self.register_but.resize(202 * self.xr, 45 * self.yr) self.register_but.setText('注册新用户') self.register_but.clicked.connect(self.register) self.imp_la.setObjectName('imp_label') self.imp_la.resize(100 * self.zr, 100 * self.zr) self.imp_la.move(115 * self.xr + 100 * (self.xr - self.zr) / 2, 15 * self.yr) self.imp_la.setStyleSheet('border-radius:{}px;'.format(self.zr * 49)) self.account_le.setObjectName('input') self.account_le.setTextMargins(20, 0, 0, 0) self.account_le.resize(213 * self.xr, 45 * self.yr) self.account_le.move(59 * self.xr, 126 * self.yr) self.account_le.setPlaceholderText('账号') self.psw_le.setObjectName('input') self.psw_le.setTextMargins(20, 0, 0, 0) self.psw_le.resize(213 * self.xr, 45 * self.yr) self.psw_le.move(59 * self.xr, 181 * self.yr) self.psw_le.setPlaceholderText('密码') self.psw_le.setEchoMode(QLineEdit.Password) self.name_le.setObjectName('input') self.name_le.setTextMargins(20, 0, 0, 0) self.name_le.resize(213 * self.xr, 45 * self.yr) self.name_le.move(59 * self.xr, 236 * self.yr) self.name_le.setPlaceholderText('昵称') self.ind_wi.setStyleSheet('#input{border-radius:' + str(self.zr * 20) + 'px;}' + '#button{border-radius:' + str(self.zr * 20) + 'px;' + 'font-size:' + str(int(self.zr * 18)) + 'px;}') def register(self): account_p = self.account_le.text() psw_p = self.psw_le.text() # name_p = self.name_le.text() dic = register(account_p, psw_p) if dic['status'] == 1001: self.account_le.clear() self.psw_le.clear() self.account_le.setStyleSheet('border:4px solid;border-color:red;') self.account_le.setPlaceholderText('账号已存在') elif dic['status'] == 0: self.register_ok_sg.emit() else: self.account_le.clear() self.psw_le.clear() self.account_le.setStyleSheet('border:4px solid;border-color:red;') self.account_le.setPlaceholderText('未知错误')
class Home(QWidget): home_exit_sg = pyqtSignal() rank_sg = pyqtSignal(list) single_rank_sg = pyqtSignal(list) def __init__(self, parent=None): super(Home, self).__init__(parent) self.desktop = QApplication.desktop() self.screenRect = self.desktop.screenGeometry() self.h = self.screenRect.height() self.w = self.screenRect.width() self.xr = self.w / 930 self.yr = self.h / 640 self.zr = min(self.xr, self.yr) self.id_p = 0 self.token = '' self.vertical_img = QLabel(self) self.role_data_wi = QWidget(self) self.rankexit_but = QPushButton(self) self.role_header = QLabel(self.role_data_wi) self.role_name = QLabel(self.role_data_wi) self.role_rank = QPushButton(self.role_data_wi) self.ranking = QPushButton(self.role_data_wi) self.role_details = QWidget(self.role_data_wi) self.bigcard_la = QLabel(self.role_details) self.bigcard_wi = QWidget(self.role_details) self.rate_la = QLabel(self.role_details) self.rate_wi = QLabel(self.role_details) self.role_special = QLabel(self.bigcard_wi) self.set_ui() with open('home.qss', 'r') as f: self.setStyleSheet(f.read()) def set_ui(self): self.setWindowTitle('Home') self.setObjectName('home') self.resize(self.w, self.h) effect = QGraphicsDropShadowEffect() effect.setOffset(10, 10) effect.setColor(QColor(0, 0, 0, 80)) effect.setBlurRadius(20) self.vertical_img.setObjectName('vertical') self.vertical_img.resize(self.xr * 205, self.yr * 534) self.vertical_img.move(self.xr * 79, self.yr * 39) self.role_data_wi.setObjectName('role_data_wi') self.role_data_wi.resize(self.xr * 552, self.yr * 534) self.role_data_wi.move(self.xr * 320, self.yr * 39) self.role_data_wi.setGraphicsEffect(effect) self.rankexit_but.setObjectName('resexit') self.rankexit_but.resize(self.zr * 38, self.zr * 38) self.rankexit_but.move(self.xr * 852, self.yr * 22) self.rankexit_but.clicked.connect(self.home_exit) self.rankexit_but.setStyleSheet('border-radius:{}px;'.format(self.zr * 18)) self.role_header.setObjectName('role_header') self.role_header.resize(self.zr * 70, self.zr * 70) self.role_header.move(self.xr * 38, self.yr * 10) self.role_name.setObjectName('role_name') self.role_name.resize(self.xr * 129, self.yr * 43) self.role_name.move(self.xr * 129, self.yr * 21) self.role_name.setStyleSheet('border-radius:{}px;'.format(self.zr * 18)) effect1 = QGraphicsDropShadowEffect() effect1.setOffset(10, 10) effect1.setColor(QColor(0, 0, 0, 80)) effect1.setBlurRadius(20) effect2 = QGraphicsDropShadowEffect() effect2.setOffset(10, 10) effect2.setColor(QColor(0, 0, 0, 80)) effect2.setBlurRadius(20) self.role_rank.setObjectName('button') self.role_rank.resize(self.xr * 120, self.yr * 31) self.role_rank.move(self.xr * 269, self.yr * 27) self.role_rank.setText('个人战绩') self.role_rank.setGraphicsEffect(effect1) self.role_rank.clicked.connect(self.show_single_rank) self.ranking.setObjectName('button') self.ranking.resize(self.xr * 120, self.yr * 31) self.ranking.move(self.xr * 399, self.yr * 27) self.ranking.setText('排行榜') self.ranking.setGraphicsEffect(effect2) self.ranking.clicked.connect(self.show_rank) self.role_details.setObjectName('role_details') self.role_details.resize(self.xr * 500, self.yr * 435) self.role_details.move(self.xr * 28, self.yr * 89) self.bigcard_la.setObjectName('icon') self.bigcard_la.resize(self.xr * 120, self.yr * 23) self.bigcard_la.move(self.xr * 12, self.yr * 34) self.bigcard_la.setText('最近大牌') self.bigcard_la.setAlignment(Qt.AlignCenter) self.bigcard_wi.setObjectName('bigcard') self.bigcard_wi.resize(self.xr * 477, self.yr * 120) self.bigcard_wi.move(self.xr * 12, self.yr * 84) for i in range(1, 14): if i >= 9: xp = 330 t = 9 elif i >= 4: xp = 190 t = 4 else: xp = 90 t = 1 exec('self.role_card{}=QLabel(self.bigcard_wi)'.format(i)) exec('self.role_card{}.setObjectName("card")'.format(i)) exec('self.role_card{}.resize(self.xr*40,self.yr*60)'.format(i)) exec('self.role_card{}.move(self.xr*(xp+({}-t)*20),self.yr*26)'. format(i, i)) self.role_special.setObjectName('role_special') self.role_special.resize(self.xr * 65, self.yr * 32) self.role_special.move(self.xr * 15, self.yr * 40) self.rate_la.setObjectName('icon') self.rate_la.resize(self.xr * 120, self.yr * 23) self.rate_la.move(self.xr * 12, self.yr * 234) self.rate_la.setText('近期趋势') self.rate_la.setAlignment(Qt.AlignCenter) self.rate_wi.setObjectName('rate') self.rate_wi.resize(self.xr * 477, self.yr * 120) self.rate_wi.move(self.xr * 12, self.yr * 284) self.role_data_wi.setStyleSheet('#role_data_wi{border-radius:' + str(self.zr * 20) + 'px;}#role_header{border-radius:' + str(self.zr * 30) + 'px;}#button{border-radius:' + str(self.zr * 15) + 'px;font-size:' + str(int(self.zr * 15)) + 'px;}#icon{border-radius:' + str(self.zr * 10) + 'px;font-size:' + str(int(self.zr * 15)) + 'px;}') def home_exit(self): self.home_exit_sg.emit() def show_rank(self): res = rank() if res['status'] == 0: self.rank_sg.emit(res['details']) def show_single_rank(self): res = srank(self.id_p, self.token) if res['status'] == 0: self.single_rank_sg.emit(res['details']) def get_id(self, s): self.id_p = s def get_token(self, t): self.token = t