1.采用实例方法,先创建2个dialog对象,采用该对象的信号触发相应的操作

import sys
from PyQt5.Qt import * class MyWidget(QWidget):
def __init__(self):
QWidget.__init__(self)
self.resize(500,500)
self.setup_ui() def setup_ui(self):
self.btn = QPushButton("选择字体",self)
self.color_btn = QPushButton("选择颜色",self)
self.color_btn.move(100,0)
self.fd = QFontDialog(self)
self.qfc = QColorDialog(self)
self.fd.fontSelected.connect(self.font_select)
self.fd.currentFontChanged.connect(self.font_select)
self.qfc.colorSelected.connect(self.color_select)
self.label = QLabel("天佑中华!",self)
self.label.move(100,100)
self.btn.clicked.connect(self.open_choose)
self.color_btn.clicked.connect(self.open_color_choose) def color_select(self,color):
red,green,blue,_ = color.getRgb()
self.label.setStyleSheet("color:rgb({},{},{},255)".format(red,green,blue)) def open_color_choose(self):
self.qfc.open() def open_choose(self):
self.fd.open() def font_select(self,font):
self.label.setFont(font)
self.label.adjustSize() if __name__ == "__main__":
app = QApplication([])
window = MyWidget()
window.show()
sys.exit(app.exec_())

2.采用类静态方法,直接获取返回值

import sys
from PyQt5.Qt import * class MyWidget(QWidget):
def __init__(self):
QWidget.__init__(self)
self.resize(500,500)
self.setup_ui() def setup_ui(self):
self.btn = QPushButton("选择字体",self)
self.color_btn = QPushButton("选择颜色",self)
self.label = QLabel("天佑中华!", self) self.color_btn.move(100,0)
self.label.move(100,100) self.btn.clicked.connect(self.open_choose)
self.color_btn.clicked.connect(self.open_color_choose) def open_color_choose(self):
qcolor = QColorDialog.getColor()
red, green, blue, _ = qcolor.getRgb()
self.label.setStyleSheet("color:rgb({},{},{},255)".format(red, green, blue)) def open_choose(self):
font,ischecked = QFontDialog.getFont(self)
if ischecked:
self.label.setFont(font)
self.label.adjustSize() if __name__ == "__main__":
app = QApplication([])
window = MyWidget()
window.show()
sys.exit(app.exec_())

最新文章

  1. 走向面试之数据库基础:二、SQL进阶之case、子查询、分页、join与视图
  2. C++ Windows 下 根据进程名获取进程ID 以及该进程下所有窗口的句柄
  3. BFS与DFS
  4. JavaScript 五种(构造方式)继承
  5. svn ubuntu command(转载)
  6. 软件工程---阅读《构建之法》P384~391
  7. 【easuyi】---easyui中的验证validatebox自定义
  8. iOS 安全:UIWebView访问Https站点防止中间人攻击
  9. redis在spring中的配置及java代码实现
  10. C#连接sqlserver数据库
  11. 3、js无缝滚动轮播
  12. 今天碰到一个问题,怎么限制用户在固定宽度的input输入框里输入的长度,由此涉猎到了maxlength属性和size属性以及它们的区别。
  13. LeetCode(75):分类颜色
  14. JSON序列——保存修改数据
  15. Win8.1,windows10部署 .NET Framework 3.5 安装方式汇总
  16. [转]系统架构演变--集中式架构-垂直拆分-分布式服务-SOA(服务治理)-微服务
  17. KVM虚拟化技术(一)虚拟化简介
  18. [tools]hugo&github构建静态网站/百度统计
  19. JAVA后台框架优化之日志篇
  20. java线程同步: synchronized详解(转)

热门文章

  1. sublime: javascript/css 的格式化
  2. Linux系统之LAMP实现
  3. java Map排序问题
  4. WeChall_Prime Factory (Training, Math)Training: WWW-Robots (HTTP, Training)
  5. JavaScript 与 Java 有什么不同?
  6. [信息安全] 05 X.509 公钥证书的格式标准
  7. 不同宿主的iterator不能进行比较
  8. Java程序员必备英文单词
  9. 新的征程TestOps
  10. qt creator源码全方面分析(2-10-5)