def enterEvent(self,event): self.hovered = True self.repaint() QPushButton.enterEvent(self,event)
def enterEvent(self, event): self.fIsHovered = True QPushButton.enterEvent(self, event)
def enterEvent(self, event): self.hovered = True self.repaint() QPushButton.enterEvent(self, event)
class MainWindow(QMainWindow): def __init__(self, *args, **kwargs): super(MainWindow, self).__init__(*args, **kwargs) self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowMinimizeButtonHint) self.setWindowTitle(u"鱿鱼") self.setFixedSize(800, 600) self.setObjectName('principal') self.createGUI() def createGUI(self): self.frame_window = QWidget(self) self.frame_window.setGeometry(0, 0, 800, 40) self.frame_window.setObjectName('frame_window') self.title_frame = QLabel(self.frame_window) self.title_frame.setGeometry(0, 0, 800, 40) self.title_frame.setAlignment(Qt.AlignLeft | Qt.AlignVCenter) self.title_frame.setFont(QFont("微软雅黑", 20, QFont.Bold)) self.title_frame.setText(u" 鱿鱼-阿里云白名单设置") self.title_frame.setObjectName('title_frame') # buttons clsfont = self.font() or QFont() clsfont.setFamily('Webdings') self.button_close = QPushButton('r', self.frame_window, font=clsfont) self.button_close.setGeometry(760, 0, 40, 40) self.button_close.setObjectName('button_close') self.button_close.setToolTip(u'关闭') self.button_close.enterEvent( self.button_close.setCursor(Qt.PointingHandCursor)) self.button_min = QPushButton('0', self.frame_window, font=clsfont) self.button_min.setGeometry(720, 0, 40, 40) self.button_min.setObjectName('button_min') self.button_min.setToolTip(u'最小化') self.button_min.enterEvent( self.button_min.setCursor(Qt.PointingHandCursor)) ###左边选择栏部分 self.GroupBox_checkbox = QGroupBox(self) self.GroupBox_checkbox.setTitle(u'选择白名单组') self.GroupBox_checkbox.setGeometry(10, 50, 200, 540) self.ecs_test = QCheckBox(u'测试环境服务器', self.GroupBox_checkbox) self.ecs_test.enterEvent(self.ecs_test.setCursor( Qt.PointingHandCursor)) self.ecs_test.setChecked(True) self.ecs_test.setGeometry(20, 30, 150, 30) self.rds_mysql = QCheckBox(u'MySQL数据库', self.GroupBox_checkbox) self.rds_mysql.enterEvent( self.rds_mysql.setCursor(Qt.PointingHandCursor)) self.rds_mysql.setChecked(True) self.rds_mysql.setGeometry(20, 60, 150, 30) self.rds_sqlserver = QCheckBox(u'SQLServer数据库', self.GroupBox_checkbox) self.rds_sqlserver.enterEvent( self.rds_sqlserver.setCursor(Qt.PointingHandCursor)) self.rds_sqlserver.setChecked(True) self.rds_sqlserver.setGeometry(20, 90, 150, 30) ###右边IP设置部分 self.GroupBox_ipset = QGroupBox(self) self.GroupBox_ipset.setTitle(u'公网IP配置') self.GroupBox_ipset.setGeometry(220, 50, 570, 200) self.label_outip = QLabel(self.GroupBox_ipset, objectName="label_outip") self.label_outip.setText(u'公网IP:') self.label_outip.setGeometry(15, 30, 75, 30) self.line_outip = QLineEdit(self.GroupBox_ipset) self.line_outip.setMinimumWidth(200) self.line_outip.setGeometry(85, 30, 150, 30) self.line_outip.setFont(QFont("Timers", 13, QFont.Bold)) self.line_outip.setStyleSheet("color:green") self.button_getip = QPushButton(u'自动获取公网IP', self.GroupBox_ipset, objectName="button_getip") self.button_getip.setToolTip(u'从ip138上抓取本机公网IP') self.button_getip.enterEvent( self.button_getip.setCursor(Qt.PointingHandCursor)) self.button_getip.setGeometry(300, 30, 110, 30) self.button_setup = QPushButton(u'添加', self.GroupBox_ipset, objectName="button_setup") self.button_setup.enterEvent( self.button_setup.setCursor(Qt.PointingHandCursor)) self.button_setup.setToolTip(u'将该IP添加至已选白名单组中') self.button_setup.setGeometry(430, 30, 110, 30) ###右边消息输出部分 self.GroupBox_text = QGroupBox(self) self.GroupBox_text.setGeometry(220, 260, 570, 330) self.browser_text = QTextBrowser(self.GroupBox_text) self.browser_text.setGeometry(0, 0, 570, 330) self.browser_text.setFont(QFont("Roman times", 12)) self.browser_text.setObjectName('browser_text') # conexiones self.button_close.clicked.connect(self.close) self.button_min.clicked.connect(self.showMinimized) self.button_getip.clicked.connect(self.auto_ip) self.button_setup.clicked.connect(self.setup) def auto_ip(self): self.line_outip.clear() self.button_getip.setEnabled(False) self.th_get_ip = GETIP() self.th_get_ip.ip_line_Signal.connect(self.show_ip_info) self.th_get_ip.start() def show_ip_info(self, ip=None, status=1): self.button_getip.setEnabled(True) if status: self.line_outip.setText(ip) else: self.browser_text.append(ip) def setup(self): myip = self.line_outip.text() if myip and validate_ip(myip): check_list = [] if self.ecs_test.isChecked(): check_list.append('ecs_test') if self.rds_mysql.isChecked(): check_list.append('rds_mysql') if self.rds_sqlserver.isChecked(): check_list.append('rds_sqlserver') if len(check_list) == 0: self.browser_text.append(u'没什么事可做的~') else: self.button_setup.setEnabled(False) self.th_setup = SETIP(myip, check_list) self.th_setup.text_browser_Signal.connect(self.show_text) self.th_setup.start() else: self.browser_text.append(u'请填入正确的IP地址!') def show_text(self, text=None, end=0): if end: self.button_setup.setEnabled(True) if text: self.browser_text.append(text) def mousePressEvent(self, event): self.offset = event.pos() def mouseMoveEvent(self, event): x = event.globalX() y = event.globalY() x_w = self.offset.x() y_w = self.offset.y() self.move(x - x_w, y - y_w)