当前位置: 首页 > news >正文

pyqt 调用QT设计师创建的对话框

一、实验环境

1.Windows7x64_SP1

2.anaconda2.5.0 + python2.7(anaconda集成,不需单独安装)

3.pyinstaller3.0

二、实验步骤

2.1 QT设计师创建主对话框如下

2.3 主程序中调用方式一

2.3.1 使用pyuic5生成untitled.py

pyuic5 -o untitled.py untitled.ui

2.3.2 主程序调用代码

# -*- coding: utf-8 -*-
import os,sys,time,re
import xlrd
from PyQt5.QtWidgets import QMainWindow,QMessageBox
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication,QDialog
from PyQt5 import QtCore,QtGui
from untitled import Ui_MainWindow


class SmartBit_Tool(QMainWindow):
    host_ip = '192.168.8.85'
    username = 'su'
    password = 'SMB-6000'
    excel_file = 'IP_Name.xlsx'
    smart_ip_list_file = 'smart_ip_list.txt'
    srcFilename = os.path.join('\\\\192.168.8.123\\software', excel_file)
    desFilename = os.path.join(os.getcwd(),excel_file)
    smart_ip_list_file = os.path.join(os.getcwd(),smart_ip_list_file)

    def __init__(self, *args):
        super(SmartBit_Tool, self).__init__(*args)
        self.ret_ping_test = False
        self.ui = Ui_MainWindow()                                                  #实例化窗口
        self.ui.setupUi(self)                                                      #显示窗口

2.4 主程序中调用方式二

# -*- coding: utf-8 -*-
import os,sys,time,re
import xlrd
from PyQt5.QtWidgets import QMainWindow,QMessageBox
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication,QDialog
from PyQt5 import QtCore,QtGui


class SmartBit_Tool(QMainWindow):
    def __init__(self, *args):
        super(SmartBit_Tool, self).__init__(*args)
        loadUi('untitled.ui', self)
        self.setWindowTitle('SmartBit_Get_User')  

如上方式使用loadUI函数直接调用*.ui,未进行pyuic5生成untitled.py,对话框显示跟QT设计排版存在差异,不推荐使用!

2.5 槽函数调用对话框方式

请参考:https://www.cnblogs.com/hester/p/11229751.html

转载于:https://www.cnblogs.com/hester/p/11230157.html

相关文章:

  • 艾伟_转载:下载文件时根据MIME类型自动判断保存文件的扩展名
  • Oracle学习手札
  • 艾伟_转载:把委托说透(1):开始委托之旅 委托与接口
  • centos7常见问题(更新。。。)
  • 洛谷 P3388 【模板】割点(割顶)题解
  • 大型网站的监控、报警与故障转移
  • mjpg-streamer译文
  • 一起谈.NET技术,.NET Framework源码研究系列之---Delegate
  • gnu下的arm汇编伪指令:.word说明
  • re
  • python循环语句
  • DHCP中继
  • docker
  • 为何投奔BSD
  • 如何查看linux系统安装时间
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • bearychat的java client
  • extjs4学习之配置
  • mysql外键的使用
  • passportjs 源码分析
  • PHP CLI应用的调试原理
  • PHP面试之三:MySQL数据库
  • React as a UI Runtime(五、列表)
  • Spring Cloud Feign的两种使用姿势
  • 对超线程几个不同角度的解释
  • 给初学者:JavaScript 中数组操作注意点
  • 你不可错过的前端面试题(一)
  • 前端相关框架总和
  • 跳前端坑前,先看看这个!!
  • 物联网链路协议
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • 如何用纯 CSS 创作一个货车 loader
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​linux启动进程的方式
  • ​香农与信息论三大定律
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (六)软件测试分工
  • (一)认识微服务
  • (转)fock函数详解
  • .net生成的类,跨工程调用显示注释
  • /etc/motd and /etc/issue
  • @entity 不限字节长度的类型_一文读懂Redis常见对象类型的底层数据结构
  • @selector(..)警告提示
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题
  • [ 手记 ] 关于tomcat开机启动设置问题
  • [BUG]vscode插件live server无法自动打开浏览器
  • [DP 训练] Longest Run on a Snowboard, UVa 10285
  • [GN] Vue3快速上手1
  • [hdu 2826] The troubles of lmy [简单计算几何 - 相似]
  • [iOS]-UIKit
  • [iOS]让Xcode 4.2生成的app支持老的iOS设备(armv6)
  • [JavaEE] 线程与进程的区别详解
  • [math]判断线段是否相交及夹角
  • [NOI2020统一省选 A] 组合数问题 (推式子)