dltest 发表于 2022-12-9 15:34

[运气修仙]服务端关卡设计查看,爆装查看

本版另外的作者写的运气修仙,
原贴地址: https://www.52pojie.cn/thread-1714726-1-1.html
下载研究一番,每次看关卡设置,自己修改总会前端报错,于是写了下面工具用于较验自己写的爆装参数对不对.
服务端的安装不在本次讨论范围,只对已安装好的数据库操作.
使用时,修改地址,用户名 账号 数据库名等信息
主要模块ttkbootstrap pymysql
下载地址:
下载:https://wwrc.lanzoub.com/iLTEi0i8u2gf 密码:52pj




# -*- coding:utf-8 -*-
# @ FileName:monster_config.py
# @ Author    :dltest@52pj
from ttkbootstrap import *

import pymysql
import ttkbootstrap as ttk

monster_tv =0
diaoluo_tv =0
class App:
    def __init__(self, root):

      self.cursor = None

      self.items = [{'id': 1, 'idx': 10110000, 'name': '九曲剑', 'type': 0, 'shuxing1': '1-4', 'shuxing2': '1-4', 'intro1': '物理攻击', 'intro2': '道术攻击', 'playerjingjie': 0, 'limit1day': 0}, {'id': 2, 'idx': 10110010, 'name': '天劫剑', 'type': 0, 'shuxing1': '5-10', 'shuxing2': '3-8', 'intro1': '物理攻击', 'intro2': '道术攻击', 'playerjingjie': 0, 'limit1day': 0}, {'id': 3, 'idx': 10110020, 'name': '紫虚剑', 'type': 0, 'shuxing1': '3-8', 'shuxing2': '5-10', 'intro1': '物理攻击', 'intro2': '道术攻击', 'playerjingjie': 0, 'limit1day': 0}, {'id': 4, 'idx': 10110030, 'name': '弱水剑', 'type': 0, 'shuxing1': '10-20', 'shuxing2': '10-15', 'intro1': '物理攻击', 'intro2': '道术攻击', 'playerjingjie': 0, 'limit1day': 0}, {'id': 5, 'idx': 10110040, 'name': '长虹剑', 'type': 0, 'shuxing1': '10-15', 'shuxing2': '10-20', 'intro1': '物理攻击', 'intro2': '道术攻击', 'playerjingjie': 0, 'limit1day': 0}, {'id': 6, 'idx': 10110050, 'name': '离火剑', 'type': 0, 'shuxing1': '30-40', 'shuxing2': '25-35', 'intro1': '物理攻击', 'intro2': '道术攻击', 'playerjingjie': 0, 'limit1day': 0}, {'id': 7, 'idx': 10110060, 'name': '真武剑', 'type': 0, 'shuxing1': '25-35', 'shuxing2': '30-40', 'intro1': '物理攻击', 'intro2': '道术攻击', 'playerjingjie': 0, 'limit1day': 0}, {'id': 8, 'idx': 10210070, 'name': '天琊剑', 'type': 0, 'shuxing1': '50-70', 'shuxing2': '40-60', 'intro1': '物理攻击', 'intro2': '道术攻击', 'playerjingjie': 0, 'limit1day': 0}, {'id': 9, 'idx': 10210080, 'name': '诛仙剑', 'type': 0, 'shuxing1': '40-60', 'shuxing2': '50-70', 'intro1': '物理攻击', 'intro2': '道术攻击', 'playerjingjie': 0, 'limit1day': 0}, {'id': 10, 'idx': 10210090, 'name': '竞星剑', 'type': 0, 'shuxing1': '90-110', 'shuxing2': '80-100', 'intro1': '物理攻击', 'intro2': '道术攻击', 'playerjingjie': 0, 'limit1day': 0}, {'id': 11, 'idx': 10210100, 'name': '天瀑剑', 'type': 0, 'shuxing1': '130-160', 'shuxing2': '115-145', 'intro1': '物理攻击', 'intro2': '道术攻击', 'playerjingjie': 0, 'limit1day': 0}, {'id': 12, 'idx': 10210110, 'name': '舍神剑', 'type': 0, 'shuxing1': '115-145', 'shuxing2': '130-160', 'intro1': '物理攻击', 'intro2': '道术攻击', 'playerjingjie': 0, 'limit1day': 0}, {'id': 13, 'idx': 10210120, 'name': '莫问剑', 'type': 0, 'shuxing1': '180-220', 'shuxing2': '160-200', 'intro1': '物理攻击', 'intro2': '道术攻击', 'playerjingjie': 0, 'limit1day': 0}, {'id': 14, 'idx': 10114000, 'name': '凡心冠', 'type': 4, 'shuxing1': '1', 'shuxing2': '1', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 15, 'idx': 10114010, 'name': '青阳冠', 'type': 4, 'shuxing1': '1.0', 'shuxing2': '2.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 16, 'idx': 10114020, 'name': '锁心冠', 'type': 4, 'shuxing1': '2.0', 'shuxing2': '1.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 17, 'idx': 10114030, 'name': '紫脉冠', 'type': 4, 'shuxing1': '3.0', 'shuxing2': '1.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 18, 'idx': 10114040, 'name': '飞羽冠', 'type': 4, 'shuxing1': '1.0', 'shuxing2': '3.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 19, 'idx': 10114050, 'name': '魔灵冠', 'type': 4, 'shuxing1': '3.0', 'shuxing2': '5.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 20, 'idx': 10114060, 'name': '万军冠', 'type': 4, 'shuxing1': '5.0', 'shuxing2': '3.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 21, 'idx': 10214070, 'name': '谪仙冠', 'type': 4, 'shuxing1': '6.0', 'shuxing2': '3.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 22, 'idx': 10214080, 'name': '平天冠', 'type': 4, 'shuxing1': '3.0', 'shuxing2': '6.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 23, 'idx': 10214090, 'name': '金丝盔', 'type': 4, 'shuxing1': '9.0', 'shuxing2': '6.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 24, 'idx': 10214100, 'name': '软猬冠', 'type': 4, 'shuxing1': '6.0', 'shuxing2': '9.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 25, 'idx': 10214110, 'name': '黄金冠', 'type': 4, 'shuxing1': '9.0', 'shuxing2': '14.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 26, 'idx': 10214120, 'name': '八宝盔', 'type': 4, 'shuxing1': '14.0', 'shuxing2': '9.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 27, 'idx': 10314130, 'name': '天蚕盔', 'type': 4, 'shuxing1': '22.0', 'shuxing2': '16.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 28, 'idx': 10111000, 'name': '静心袍', 'type': 1, 'shuxing1': '1.0', 'shuxing2': '1.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 29, 'idx': 10111010, 'name': '劫云袍', 'type': 1, 'shuxing1': '1.0', 'shuxing2': '2.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 30, 'idx': 10111020, 'name': '玉虚袍', 'type': 1, 'shuxing1': '2.0', 'shuxing2': '1.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 31, 'idx': 10111030, 'name': '异兽甲', 'type': 1, 'shuxing1': '4.0', 'shuxing2': '3.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 32, 'idx': 10111040, 'name': '贯日袍', 'type': 1, 'shuxing1': '3.0', 'shuxing2': '4.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 33, 'idx': 10111050, 'name': '乾坤甲', 'type': 1, 'shuxing1': '6.0', 'shuxing2': '8.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 34, 'idx': 10111060, 'name': '玄武铠', 'type': 1, 'shuxing1': '8.0', 'shuxing2': '6.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 35, 'idx': 10211070, 'name': '碧莲铠', 'type': 1, 'shuxing1': '15.0', 'shuxing2': '11.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 36, 'idx': 10211080, 'name': '万鳞甲', 'type': 1, 'shuxing1': '11.0', 'shuxing2': '15.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 37, 'idx': 10211090, 'name': '金丝袍', 'type': 1, 'shuxing1': '25.0', 'shuxing2': '20.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 38, 'idx': 10211100, 'name': '软猬甲', 'type': 1, 'shuxing1': '20.0', 'shuxing2': '25.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 39, 'idx': 10211110, 'name': '黄金甲', 'type': 1, 'shuxing1': '37.0', 'shuxing2': '31.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 40, 'idx': 10211120, 'name': '八宝袍', 'type': 1, 'shuxing1': '31.0', 'shuxing2': '37.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 41, 'idx': 10211130, 'name': '天蚕甲', 'type': 1, 'shuxing1': '50.0', 'shuxing2': '43.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 42, 'idx': 10113000, 'name': '驱魔履', 'type': 3, 'shuxing1': '1.0', 'shuxing2': '1.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 43, 'idx': 10113010, 'name': '御风靴', 'type': 3, 'shuxing1': '1.0', 'shuxing2': '2.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 44, 'idx': 10113020, 'name': '火云靴', 'type': 3, 'shuxing1': '2.0', 'shuxing2': '1.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 45, 'idx': 10113030, 'name': '紫霞履', 'type': 3, 'shuxing1': '3.0', 'shuxing2': '2.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 46, 'idx': 10113040, 'name': '九州履', 'type': 3, 'shuxing1': '2.0', 'shuxing2': '3.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 47, 'idx': 10113050, 'name': '逐电履', 'type': 3, 'shuxing1': '4.0', 'shuxing2': '6.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 48, 'idx': 10113060, 'name': '青云履', 'type': 3, 'shuxing1': '6.0', 'shuxing2': '4.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 49, 'idx': 10213070, 'name': '三界履', 'type': 3, 'shuxing1': '8.0', 'shuxing2': '4.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 50, 'idx': 10213080, 'name': '覆海靴', 'type': 3, 'shuxing1': '4.0', 'shuxing2': '8.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 51, 'idx': 10213090, 'name': '金丝靴', 'type': 3, 'shuxing1': '14.0', 'shuxing2': '9.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 52, 'idx': 10213100, 'name': '软猬履', 'type': 3, 'shuxing1': '9.0', 'shuxing2': '14.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 53, 'idx': 10213110, 'name': '黄金靴', 'type': 3, 'shuxing1': '22.0', 'shuxing2': '16.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 54, 'idx': 10213120, 'name': '八宝履', 'type': 3, 'shuxing1': '16.0', 'shuxing2': '22.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 55, 'idx': 10313130, 'name': '天蚕靴', 'type': 3, 'shuxing1': '31.0', 'shuxing2': '23.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 56, 'idx': 10112000, 'name': '翠玉镯', 'type': 2, 'shuxing1': '1.0', 'shuxing2': '1.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 57, 'idx': 10112010, 'name': '银环镯', 'type': 2, 'shuxing1': '1.0', 'shuxing2': '2.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 58, 'idx': 10112020, 'name': '五蕴镯', 'type': 2, 'shuxing1': '2.0', 'shuxing2': '1.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 59, 'idx': 10112030, 'name': '相思镯', 'type': 2, 'shuxing1': '4.0', 'shuxing2': '3.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 60, 'idx': 10112040, 'name': '霓霞镯', 'type': 2, 'shuxing1': '3.0', 'shuxing2': '4.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 61, 'idx': 10112050, 'name': '暗影镯', 'type': 2, 'shuxing1': '5.0', 'shuxing2': '7.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 62, 'idx': 10112060, 'name': '暴风镯', 'type': 2, 'shuxing1': '7.0', 'shuxing2': '5.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 63, 'idx': 10212070, 'name': '冰锋镯', 'type': 2, 'shuxing1': '10.0', 'shuxing2': '6.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 64, 'idx': 10212080, 'name': '六合镯', 'type': 2, 'shuxing1': '6.0', 'shuxing2': '10.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 65, 'idx': 10212090, 'name': '金丝镯', 'type': 2, 'shuxing1': '18.0', 'shuxing2': '13.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 66, 'idx': 10212100, 'name': '软猬镯', 'type': 2, 'shuxing1': '13.0', 'shuxing2': '18.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 67, 'idx': 10212110, 'name': '黄金镯', 'type': 2, 'shuxing1': '28.0', 'shuxing2': '22.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 68, 'idx': 10212120, 'name': '八宝镯', 'type': 2, 'shuxing1': '22.0', 'shuxing2': '28.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 69, 'idx': 10312130, 'name': '天蚕镯', 'type': 2, 'shuxing1': '39.0', 'shuxing2': '31.0', 'intro1': '物理防御', 'intro2': '道术防御', 'playerjingjie': 0, 'limit1day': 0}, {'id': 70, 'idx': 10115000, 'name': '空蝉玉', 'type': 5, 'shuxing1': '2-5', 'shuxing2': '1', 'intro1': '双攻', 'intro2': '闪避', 'playerjingjie': 0, 'limit1day': 0}, {'id': 71, 'idx': 10115010, 'name': '定波玉', 'type': 5, 'shuxing1': '10-20', 'shuxing2': '10', 'intro1': '双攻', 'intro2': '闪避', 'playerjingjie': 0, 'limit1day': 0}, {'id': 72, 'idx': 10115020, 'name': '白龙玉', 'type': 5, 'shuxing1': '40-60', 'shuxing2': '20', 'intro1': '双攻', 'intro2': '闪避', 'playerjingjie': 0, 'limit1day': 0}, {'id': 73, 'idx': 10115030, 'name': '菩提玉', 'type': 5, 'shuxing1': '60-80', 'shuxing2': '30', 'intro1': '双攻', 'intro2': '闪避', 'playerjingjie': 0, 'limit1day': 0}, {'id': 74, 'idx': 10115040, 'name': '神鹰玉', 'type': 5, 'shuxing1': '100-200', 'shuxing2': '40', 'intro1': '双攻', 'intro2': '闪避', 'playerjingjie': 0, 'limit1day': 0}, {'id': 75, 'idx': 10115050, 'name': '琉璃玉', 'type': 5, 'shuxing1': '150-300', 'shuxing2': '50', 'intro1': '双攻', 'intro2': '闪避', 'playerjingjie': 0, 'limit1day': 0}, {'id': 76, 'idx': 10115060, 'name': '青金玉', 'type': 5, 'shuxing1': '200-400', 'shuxing2': '60', 'intro1': '双攻', 'intro2': '闪避', 'playerjingjie': 0, 'limit1day': 0}, {'id': 77, 'idx': 10115070, 'name': '碧涛玉', 'type': 5, 'shuxing1': '500-800', 'shuxing2': '70', 'intro1': '双攻', 'intro2': '闪避', 'playerjingjie': 0, 'limit1day': 0}, {'id': 78, 'idx': 10115080, 'name': '御虚玉', 'type': 5, 'shuxing1': '900-1100', 'shuxing2': '80', 'intro1': '双攻', 'intro2': '闪避', 'playerjingjie': 0, 'limit1day': 0}, {'id': 79, 'idx': 10116000, 'name': '太极鉴', 'type': 6, 'shuxing1': '0.03', 'shuxing2': '金', 'intro1': '增加属性', 'intro2': '属性种类', 'playerjingjie': 0, 'limit1day': 0}, {'id': 80, 'idx': 10116010, 'name': '六合鉴', 'type': 6, 'shuxing1': '0.03', 'shuxing2': '火', 'intro1': '增加属性', 'intro2': '属性种类', 'playerjingjie': 0, 'limit1day': 0}, {'id': 81, 'idx': 10116020, 'name': '如意鉴', 'type': 6, 'shuxing1': '0.03', 'shuxing2': '水', 'intro1': '增加属性', 'intro2': '属性种类', 'playerjingjie': 0, 'limit1day': 0}, {'id': 82, 'idx': 10116030, 'name': '紫影鉴', 'type': 6, 'shuxing1': '0.03', 'shuxing2': '土', 'intro1': '增加属性', 'intro2': '属性种类', 'playerjingjie': 0, 'limit1day': 0}, {'id': 83, 'idx': 10116040, 'name': '屠妖鉴', 'type': 6, 'shuxing1': '0.06', 'shuxing2': '金', 'intro1': '增加属性', 'intro2': '属性种类', 'playerjingjie': 0, 'limit1day': 0}, {'id': 84, 'idx': 10116050, 'name': '四象鉴', 'type': 6, 'shuxing1': '0.06', 'shuxing2': '火', 'intro1': '增加属性', 'intro2': '属性种类', 'playerjingjie': 0, 'limit1day': 0}, {'id': 85, 'idx': 10116060, 'name': '麒麟鉴', 'type': 6, 'shuxing1': '0.06', 'shuxing2': '水', 'intro1': '增加属性', 'intro2': '属性种类', 'playerjingjie': 0, 'limit1day': 0}, {'id': 86, 'idx': 10116070, 'name': '狂风鉴', 'type': 6, 'shuxing1': '0.06', 'shuxing2': '土', 'intro1': '增加属性', 'intro2': '属性种类', 'playerjingjie': 0, 'limit1day': 0}, {'id': 87, 'idx': 10116080, 'name': '至尊鉴', 'type': 6, 'shuxing1': '0.2', 'shuxing2': '木', 'intro1': '增加属性', 'intro2': '属性种类', 'playerjingjie': 0, 'limit1day': 0}, {'id': 88, 'idx': 10416020, 'name': '辉铜戒', 'type': 7, 'shuxing1': '5.0', 'shuxing2': '1', 'intro1': '双防', 'intro2': '命中', 'playerjingjie': 0, 'limit1day': 0}, {'id': 89, 'idx': 10416030, 'name': '回灵戒', 'type': 7, 'shuxing1': '10', 'shuxing2': '10', 'intro1': '双防', 'intro2': '命中', 'playerjingjie': 0, 'limit1day': 0}, {'id': 90, 'idx': 10416040, 'name': '云新戒', 'type': 7, 'shuxing1': '40', 'shuxing2': '20', 'intro1': '双防', 'intro2': '命中', 'playerjingjie': 0, 'limit1day': 0}, {'id': 91, 'idx': 10516010, 'name': '归元戒', 'type': 7, 'shuxing1': '60', 'shuxing2': '30', 'intro1': '双防', 'intro2': '命中', 'playerjingjie': 0, 'limit1day': 0}, {'id': 92, 'idx': 10516020, 'name': '金光戒', 'type': 7, 'shuxing1': '100', 'shuxing2': '40', 'intro1': '双防', 'intro2': '命中', 'playerjingjie': 0, 'limit1day': 0}, {'id': 93, 'idx': 10516030, 'name': '络灵戒', 'type': 7, 'shuxing1': '150', 'shuxing2': '50', 'intro1': '双防', 'intro2': '命中', 'playerjingjie': 0, 'limit1day': 0}, {'id': 94, 'idx': 10516040, 'name': '无光戒', 'type': 7, 'shuxing1': '200', 'shuxing2': '60', 'intro1': '双防', 'intro2': '命中', 'playerjingjie': 0, 'limit1day': 0}, {'id': 95, 'idx': 10516050, 'name': '邪风戒', 'type': 7, 'shuxing1': '500', 'shuxing2': '70', 'intro1': '双防', 'intro2': '命中', 'playerjingjie': 0, 'limit1day': 0}, {'id': 96, 'idx': 10516060, 'name': '天晶戒', 'type': 7, 'shuxing1': '900', 'shuxing2': '80', 'intro1': '双防', 'intro2': '命中', 'playerjingjie': 0, 'limit1day': 0}, {'id': 97, 'idx': 10107000, 'name': '筑基丹', 'type': 70, 'shuxing1': '1.0', 'shuxing2': '增加成功率', 'intro1': '提升渡劫成功率', 'intro2': '筑基期修士渡劫时服使用', 'playerjingjie': 12010, 'limit1day': 0}, {'id': 98, 'idx': 10107010, 'name': '金元丹', 'type': 70, 'shuxing1': '1.0', 'shuxing2': '增加成功率', 'intro1': '提升渡劫成功率', 'intro2': '金元丹期修士渡劫时服使用', 'playerjingjie': 12020, 'limit1day': 0}, {'id': 99, 'idx': 10107020, 'name': '元婴丹', 'type': 70, 'shuxing1': '1.0', 'shuxing2': '增加成功率', 'intro1': '提升渡劫成功率', 'intro2': '元婴丹期修士渡劫时服使用', 'playerjingjie': 12030, 'limit1day': 0}, {'id': 100, 'idx': 10107030, 'name': '分神丹', 'type': 70, 'shuxing1': '1.0', 'shuxing2': '增加成功率', 'intro1': '提升渡劫成功率', 'intro2': '分神丹期修士渡劫时服使用', 'playerjingjie': 12040, 'limit1day': 0}, {'id': 101, 'idx': 10107040, 'name': '合体丹', 'type': 70, 'shuxing1': '1.0', 'shuxing2': '增加成功率', 'intro1': '提升渡劫成功率', 'intro2': '合体丹期修士渡劫时服使用', 'playerjingjie': 12050, 'limit1day': 0}, {'id': 102, 'idx': 10107050, 'name': '炼虚丹', 'type': 70, 'shuxing1': '1.0', 'shuxing2': '增加成功率', 'intro1': '提升渡劫成功率', 'intro2': '炼虚丹期修士渡劫时服使用', 'playerjingjie': 12060, 'limit1day': 0}, {'id': 103, 'idx': 10107060, 'name': '大乘丹', 'type': 70, 'shuxing1': '1.0', 'shuxing2': '增加成功率', 'intro1': '提升渡劫成功率', 'intro2': '大乘丹期修士渡劫时服使用', 'playerjingjie': 12070, 'limit1day': 0}, {'id': 104, 'idx': 10107070, 'name': '游仙丹', 'type': 70, 'shuxing1': '1.0', 'shuxing2': '增加成功率', 'intro1': '提升渡劫成功率', 'intro2': '游仙丹期修士渡劫时服使用', 'playerjingjie': 12080, 'limit1day': 0}, {'id': 105, 'idx': 10107080, 'name': '真仙丹', 'type': 70, 'shuxing1': '1.0', 'shuxing2': '增加成功率', 'intro1': '提升渡劫成功率', 'intro2': '真仙丹期修士渡劫时服使用', 'playerjingjie': 12090, 'limit1day': 0}, {'id': 106, 'idx': 10107090, 'name': '玄仙丹', 'type': 70, 'shuxing1': '1.0', 'shuxing2': '增加成功率', 'intro1': '提升渡劫成功率', 'intro2': '玄仙丹期修士渡劫时服使用', 'playerjingjie': 12100, 'limit1day': 0}, {'id': 107, 'idx': 10107100, 'name': '天仙丹', 'type': 70, 'shuxing1': '1.0', 'shuxing2': '增加成功率', 'intro1': '提升渡劫成功率', 'intro2': '天仙丹期修士渡劫时服使用', 'playerjingjie': 12110, 'limit1day': 0}, {'id': 108, 'idx': 10107110, 'name': '太乙丹', 'type': 70, 'shuxing1': '1.0', 'shuxing2': '增加成功率', 'intro1': '提升渡劫成功率', 'intro2': '太乙丹期修士渡劫时服使用', 'playerjingjie': 12120, 'limit1day': 0}, {'id': 109, 'idx': 10107120, 'name': '大罗丹', 'type': 70, 'shuxing1': '1.0', 'shuxing2': '增加成功率', 'intro1': '提升渡劫成功率', 'intro2': '大罗丹期修士渡劫时服使用', 'playerjingjie': 12130, 'limit1day': 0}, {'id': 110, 'idx': 10107130, 'name': '仙尊丹', 'type': 70, 'shuxing1': '1.0', 'shuxing2': '增加成功率', 'intro1': '提升渡劫成功率', 'intro2': '仙尊丹期修士渡劫时服使用', 'playerjingjie': 12140, 'limit1day': 0}, {'id': 111, 'idx': 10107140, 'name': '仙帝丹', 'type': 70, 'shuxing1': '1.0', 'shuxing2': '增加成功率', 'intro1': '提升渡劫成功率', 'intro2': '仙帝丹期修士渡劫时服使用', 'playerjingjie': 12150, 'limit1day': 0}, {'id': 112, 'idx': 10107150, 'name': '合道丹', 'type': 70, 'shuxing1': '1.0', 'shuxing2': '增加成功率', 'intro1': '提升渡劫成功率', 'intro2': '合道丹期修士渡劫时服使用', 'playerjingjie': 12160, 'limit1day': 0}, {'id': 113, 'idx': 10107160, 'name': '逍遥丹', 'type': 70, 'shuxing1': '1.0', 'shuxing2': '增加成功率', 'intro1': '提升渡劫成功率', 'intro2': '逍遥丹期修士渡劫时服使用', 'playerjingjie': 12170, 'limit1day': 0}, {'id': 114, 'idx': 10128000, 'name': '灵草', 'type': 80, 'shuxing1': '不能出售', 'shuxing2': '可吞食', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}, {'id': 115, 'idx': 10128005, 'name': '金币', 'type': 80, 'shuxing1': '使用后获得1金币', 'shuxing2': '通用货币', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}, {'id': 116, 'idx': 10128010, 'name': '灵石', 'type': 80, 'shuxing1': '使用后获得1灵石', 'shuxing2': '一种货币', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}, {'id': 117, 'idx': 10138011, 'name': '小转运丹', 'type': 80, 'shuxing1': '5种运气随机1种', 'shuxing2': '每天限购3次', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}, {'id': 118, 'idx': 10138012, 'name': '中转运丹', 'type': 80, 'shuxing1': '好运和普通随机1种', 'shuxing2': '每天限购10次', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}, {'id': 119, 'idx': 10138013, 'name': '大转运丹', 'type': 80, 'shuxing1': '好运和超级好运随机1种', 'shuxing2': '每天限购10次', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}, {'id': 120, 'idx': 10168010, 'name': '血瓶', 'type': 81, 'shuxing1': '快速恢复血量', 'shuxing2': '回复100血量', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}, {'id': 121, 'idx': 10168020, 'name': '血包', 'type': 81, 'shuxing1': '快速恢复血量', 'shuxing2': '回复1000血量', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}, {'id': 122, 'idx': 10168030, 'name': '血丹', 'type': 81, 'shuxing1': '快速恢复血量', 'shuxing2': '回复10000血量', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}, {'id': 123, 'idx': 10138031, 'name': '凝神丹', 'type': 85, 'shuxing1': '神魂挑战必备', 'shuxing2': '神魂挑战时,保持神魂凝聚,提升战斗力', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}, {'id': 124, 'idx': 10148010, 'name': '天青叶', 'type': 88, 'shuxing1': '一种药草', 'shuxing2': '一种名为"天青"的灵木树叶', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}, {'id': 125, 'idx': 10148020, 'name': '血菩提', 'type': 88, 'shuxing1': '一种药草', 'shuxing2': '传说乃火麒麟滴血地上所生', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}, {'id': 126, 'idx': 10148030, 'name': '养魂花', 'type': 88, 'shuxing1': '一种药草', 'shuxing2': '最佳药引', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}, {'id': 127, 'idx': 10148040, 'name': '七星花', 'type': 88, 'shuxing1': '一种药草', 'shuxing2': '一株必定开七朵花故名七星', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}, {'id': 128, 'idx': 10158010, 'name': '玄黄铜', 'type': 89, 'shuxing1': '一种矿石', 'shuxing2': '矿石', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}, {'id': 129, 'idx': 10158020, 'name': '幽冥石', 'type': 89, 'shuxing1': '一种矿石', 'shuxing2': '矿石', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}, {'id': 130, 'idx': 10158030, 'name': '熔山石', 'type': 89, 'shuxing1': '一种矿石', 'shuxing2': '矿石', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}, {'id': 131, 'idx': 10158040, 'name': '紫云晶', 'type': 89, 'shuxing1': '一种矿石', 'shuxing2': '矿石', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}, {'id': 132, 'idx': 10129050, 'name': '福袋', 'type': 90, 'shuxing1': '不能出售', 'shuxing2': '随机开出一件物品', 'intro1': '说明1', 'intro2': '说明2', 'playerjingjie': 0, 'limit1day': 0}]

      self.init_ui()
      self.item_monster = []
      # self.GButton_load_command()

    def init_ui(self):
      #setting title
      root.title("运气修仙掉落查看")
      #setting window size
      width=846
      height=468
      screenwidth = root.winfo_screenwidth()
      screenheight = root.winfo_screenheight()
      alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
      root.geometry(alignstr)
      root.resizable(width=False, height=False)

      self.GLabel_894=ttk.Label(root)
      self.GLabel_894["text"] = "host"
      self.GLabel_894.place(x=0,y=0,width=51,height=30)

      self.GLineEdit_612=ttk.Entry(root)
      self.GLineEdit_612.insert(0,"localhost")
      self.GLineEdit_612.place(x=50,y=0,width=70,height=30)

      self.GLabel_132=ttk.Label(root)
      self.GLabel_132["text"] = "port"
      self.GLabel_132.place(x=120,y=0,width=51,height=30)

      self.GLineEdit_148=ttk.Entry(root)
      self.GLineEdit_148.insert(0,"3306")
      self.GLineEdit_148.place(x=170,y=0,width=62,height=30)

      self.GLabel_163=ttk.Label(root)
      self.GLabel_163["text"] = "user"
      self.GLabel_163.place(x=230,y=0,width=51,height=30)

      self.GLineEdit_747=ttk.Entry(root)
      self.GLineEdit_747.insert(0,"zszm")
      self.GLineEdit_747.place(x=280,y=0,width=70,height=30)

      self.GLabel_51=ttk.Label(root)
      self.GLabel_51["text"] = "password"
      self.GLabel_51.place(x=350,y=0,width=71,height=30)

      self.GLineEdit_971=ttk.Entry(root)
      self.GLineEdit_971.insert(0,"PO4O8epigASiLo63Ci3OjumiR4Da6I")
      self.GLineEdit_971.place(x=420,y=0,width=211,height=30)

      self.GLabel_603=ttk.Label(root)
      self.GLabel_603["text"] = "db"
      self.GLabel_603.place(x=630,y=0,width=46,height=30)

      self.GLineEdit_275=ttk.Entry(root)
      self.GLineEdit_275.insert(0,"fast")
      self.GLineEdit_275.place(x=680,y=0,width=79,height=30)

      self.GButton_load=ttk.Button(root)
      self.GButton_load["text"] = "加载"
      self.GButton_load.place(x=770,y=0,width=70,height=25)
      self.GButton_load["command"] = self.GButton_load_command

      # self.Treeview_monster_list=ttk.Treeview(root)
      Frame_monster = ttk.Frame(root)
      Frame_monster.place(x=0,y=30,width=840,height=176)
      self.title = ('id', 'idx', 'xueliang', 'name', 'min_wuligongji', 'max_wuligongji', 'min_daoshugongji', 'max_daoshugongji', 'wulifangyu', 'daoshufangyu', 'shanbi', 'mingzhong', 'jingjie', 'diaoluo', 'danyao','zhuangbei', 'cailiao', 'diaoluo_jiayuan', 'diaoluo_other')
      yscroll = Scrollbar(Frame_monster, orient=VERTICAL)
      yscroll.pack(side=RIGHT, fill=Y)
      self.Treeview_monster_list = ttk.Treeview(Frame_monster, columns=self.title, style='Treeview', show='headings', height=10,
                                  yscrollcommand=yscroll.set)
      self.Treeview_monster_list.place(x=0,y=0,width=840,height=176)
      yscroll.config(command=self.Treeview_monster_list.yview)

      self.Treeview_monster_list.pack()
      for idx,t in enumerate(self.title):
            self.Treeview_monster_list.column(self.title, width=40, anchor='center')
            self.Treeview_monster_list.heading(self.title, text=t)
      self.Treeview_monster_list.column('diaoluo', width=80, anchor='w')
      self.Treeview_monster_list.column('danyao', width=80, anchor='w')
      self.Treeview_monster_list.column('zhuangbei', width=80, anchor='w')
      self.Treeview_monster_list.bind('<<TreeviewSelect>>', self.Treeview_monster_select)

      self.GLabel_257=ttk.Label(root)
      self.GLabel_257["text"] = "关卡"
      self.GLabel_257.place(x=10,y=210,width=38,height=30)

      self.GLineEdit_200=ttk.Entry(root)
      self.GLineEdit_200.place(x=50,y=210,width=37,height=30)

      self.GLabel_472=ttk.Label(root)
      self.GLabel_472["text"] = "名称"
      self.GLabel_472.place(x=90,y=210,width=46,height=30)

      self.GLineEdit_952=ttk.Entry(root)
      self.GLineEdit_952.place(x=140,y=210,width=75,height=30)

      self.GLabel_178=ttk.Label(root)
      self.GLabel_178["text"] = "血量"
      self.GLabel_178.place(x=220,y=210,width=41,height=30)

      self.GLineEdit_290=ttk.Entry(root)
      self.GLineEdit_290.place(x=260,y=210,width=59,height=30)

      self.GLabel_961=ttk.Label(root)
      self.GLabel_961["text"] = "最小物攻"
      self.GLabel_961.place(x=10,y=250,width=52,height=30)

      self.GLineEdit_825=ttk.Entry(root)
      self.GLineEdit_825.place(x=70,y=250,width=68,height=30)

      self.GLabel_265=ttk.Label(root)
      self.GLabel_265["text"] = "最大物攻"
      self.GLabel_265.place(x=140,y=250,width=65,height=30)

      self.GLineEdit_417=ttk.Entry(root)
      self.GLineEdit_417.place(x=210,y=250,width=81,height=30)

      self.GLabel_32=ttk.Label(root)
      self.GLabel_32["text"] = "最小法攻"
      self.GLabel_32.place(x=0,y=290,width=70,height=25)

      self.GLineEdit_624=ttk.Entry(root)
      self.GLineEdit_624.place(x=70,y=290,width=68,height=30)

      self.GLabel_55=ttk.Label(root)
      self.GLabel_55["text"] = "最大法攻"
      self.GLabel_55.place(x=150,y=290,width=58,height=30)

      self.GLineEdit_551=ttk.Entry(root)
      self.GLineEdit_551.place(x=210,y=290,width=82,height=30)

      self.GLabel_482=ttk.Label(root)
      self.GLabel_482["text"] = "物防"
      self.GLabel_482.place(x=0,y=330,width=70,height=30)

      self.GLineEdit_778=ttk.Entry(root)
      self.GLineEdit_778.place(x=70,y=330,width=68,height=30)

      self.GLabel_585=ttk.Label(root)
      self.GLabel_585["text"] = "法防"
      self.GLabel_585.place(x=140,y=330,width=68,height=30)

      self.GLineEdit_833=ttk.Entry(root)
      self.GLineEdit_833.place(x=210,y=330,width=82,height=30)

      self.GLabel_425=ttk.Label(root)
      self.GLabel_425["text"] = "闪避"
      self.GLabel_425.place(x=0,y=370,width=67,height=30)

      self.GLineEdit_161=ttk.Entry(root)
      self.GLineEdit_161.place(x=70,y=370,width=70,height=30)

      self.GLabel_553=ttk.Label(root)
      self.GLabel_553["text"] = "命中"
      self.GLabel_553.place(x=140,y=370,width=65,height=30)

      self.GLineEdit_392=ttk.Entry(root)
      self.GLineEdit_392.place(x=210,y=370,width=80,height=30)

      self.GButton_19=ttk.Button(root)
      self.GButton_19["text"] = "掉落"
      self.GButton_19.place(x=10,y=420,width=53,height=30)
      self.GButton_19["command"] = self.GButton_19_command

      self.GButton_386=ttk.Button(root)
      self.GButton_386["text"] = "丹药"
      self.GButton_386.place(x=80,y=420,width=55,height=30)
      self.GButton_386["command"] = self.GButton_386_command

      self.GButton_757=ttk.Button(root)
      self.GButton_757["text"] = "装备"
      self.GButton_757.place(x=150,y=420,width=62,height=30)
      self.GButton_757["command"] = self.GButton_757_command

      self.GButton_708=ttk.Button(root)
      self.GButton_708["text"] = "材料"
      self.GButton_708.place(x=230,y=420,width=59,height=30)
      self.GButton_708["command"] = self.GButton_708_command

      Frame_diaoluo = ttk.Frame(root)
      Frame_diaoluo.place(x=360,y=210,width=465,height=214)
      self.title_diaoluo = ('编号','名称','数量','权重')
      self.Treeview_diaoluo=ttk.Treeview(Frame_diaoluo,columns=self.title_diaoluo, show=HEADINGS)
      self.Treeview_diaoluo.place(x=0,y=0,width=465,height=214)

      for idx,t in enumerate(self.title_diaoluo):
            self.Treeview_diaoluo.column(self.title_diaoluo, width=40, anchor='center')
            self.Treeview_diaoluo.heading(self.title_diaoluo, text=t)


    def Treeview_monster_select(self,event):
      items = event.widget.selection()
      item = self.Treeview_monster_list.item(items)['values']
      self.item_monster = item
      print(item)

      self.GLineEdit_200.delete(0,"end");self.GLineEdit_200.insert(0,item)
      self.GLineEdit_952.delete(0,"end");self.GLineEdit_952.insert(0,item)
      self.GLineEdit_290.delete(0,"end");self.GLineEdit_290.insert(0,item)
      self.GLineEdit_825.delete(0,"end");self.GLineEdit_825.insert(0,item)
      self.GLineEdit_417.delete(0,"end");self.GLineEdit_417.insert(0,item)
      self.GLineEdit_624.delete(0,"end");self.GLineEdit_624.insert(0,item)
      self.GLineEdit_551.delete(0,"end");self.GLineEdit_551.insert(0,item)
      self.GLineEdit_778.delete(0,"end");self.GLineEdit_778.insert(0,item)
      self.GLineEdit_833.delete(0,"end");self.GLineEdit_833.insert(0,item)
      self.GLineEdit_161.delete(0,"end");self.GLineEdit_161.insert(0,item)
      self.GLineEdit_392.delete(0,"end");self.GLineEdit_392.insert(0,item)

    def GButton_19_command(self):
      print("command self.GButton_19")
      global monster_tv
      monster_tv =0
      self.Treeview_diaoluo.delete(*self.Treeview_diaoluo.get_children())
      list_dl = self.item_monster.split(",")
      for idx,t in enumerate(list_dl):
            x = t.split("-")
            value = ,self.find_name(x),x,x]
            self.Treeview_diaoluo.insert('', 'end', id=self.next_dl_id(), values=value)

    def find_name(self,id):

      for i in self.items:
            if i["idx"] == int(id):
                # print(i["name"])
                return i["name"]


    def GButton_386_command(self):
      print("command self.GButton_386")
      global monster_tv
      monster_tv =0
      self.Treeview_diaoluo.delete(*self.Treeview_diaoluo.get_children())
      list_dl = self.item_monster.split(",")
      for idx,t in enumerate(list_dl):
            x = t.split("-")
            value = ,self.find_name(x),x,x]
            self.Treeview_diaoluo.insert('', 'end', id=self.next_dl_id(), values=value)


    def GButton_757_command(self):
      print("command self.GButton_757")
      global monster_tv
      monster_tv =0
      self.Treeview_diaoluo.delete(*self.Treeview_diaoluo.get_children())
      list_dl = self.item_monster.split(",")
      for idx,t in enumerate(list_dl):
            x = t.split("-")
            value = ,self.find_name(x),x,x]
            self.Treeview_diaoluo.insert('', 'end', id=self.next_dl_id(), values=value)


    def GButton_708_command(self):
      print("command self.GButton_708")
      global monster_tv
      monster_tv =0
      self.Treeview_diaoluo.delete(*self.Treeview_diaoluo.get_children())
      list_dl = self.item_monster.split(",")
      for idx,t in enumerate(list_dl):
            x = t.split("-")
            value = ,self.find_name(x),x,x]
            self.Treeview_diaoluo.insert('', 'end', id=self.next_dl_id(), values=value)

    def GButton_load_command(self):
      print("GButton_load_command")
      self.config = {
                        'host': self.GLineEdit_612.get(),
                        'port': int(self.GLineEdit_148.get()),
                        'user':self.GLineEdit_747.get(),
                        'password': self.GLineEdit_971.get(),
                        'db': self.GLineEdit_275.get(),
                        'charset': 'utf8mb4',
                        'cursorclass': pymysql.cursors.DictCursor
                  }
      self.conn = pymysql.connect(** self.config)
      self.cursor = self.conn.cursor()

      global monster_tv
      monster_tv =0
      self.Treeview_monster_list.delete(*self.Treeview_monster_list.get_children())
      rows =self.queryDb("select * from yqxx_monster")
      for row in rows:
            print( (row))
            str = []
            for idx,t in enumerate(self.title):
                str.append(row)
            self.Treeview_monster_list.insert('', 'end', id=self.next_id(), values=str)
      print('------------------')

    def next_id(self):
      global monster_tv
      monster_tv += 1
      return "Item%.3d" % monster_tv

    def next_dl_id(self):
      global diaoluo_tv
      diaoluo_tv += 1
      return "Item%.3d" % diaoluo_tv

    def queryDb(self,sql):
      if not sql:
            return None
      try:
            self.cursor.execute(sql)
            description = self.cursor.description # 通过游标的description属性获取列信息
            # print(description)
            rows = self.cursor.fetchall()
            return rows
      except Exception as e:
            print(e)
            return None

    def operateDb(self,sql):
      try:
            self.cursor.execute(sql)
            self.conn.commit()
            return True
      exceptException as e:
            print(e)
            return False
if __name__ == "__main__":
    root = ttk.Window(themename="solar")
    app = App(root)
    root.mainloop()

oncet 发表于 2022-12-9 19:57

看着很牛。先赞再说

MMXX12138 发表于 2022-12-9 20:25

66666666666

GMsix 发表于 2023-2-7 16:04

大佬大佬,他更新了,你同步更新吗

唐伯虎 发表于 2023-3-13 14:34

牛啊   现在还能用吗

dzc498769558 发表于 2023-3-14 09:41

这是抖音互动直播那个吗
页: [1]
查看完整版本: [运气修仙]服务端关卡设计查看,爆装查看