pyqt学习之设置字体,字号等格式属性(网友提供)

# -*- coding: utf-8 -*-

from PyQt4.QtGui import *

from PyQt4.QtCore import *

import sys

QTextCodec.setCodecForTr(QTextCodec.codecForName("utf8"))

class MainWindow(QMainWindow):

def __init__(self,parent=None):

super(MainWindow,self).__init__(parent)

self.setWindowTitle(self.tr("设置字体,字号等格式属性"))

self.text = QTextEdit()

self.setCentralWidget(self.text);

#字体

self.toolBar=self.addToolBar("Font")

self.label1 = QLabel(self.tr("字体:"))

self.fontBox = QFontComboBox()

self.fontBox.setFontFilters(QFontComboBox.ScalableFonts);

self.toolBar.addWidget(self.label1)

self.toolBar.addWidget(self.fontBox)

#字号

self.label2 = QLabel(self.tr("数字:"))

self.sizeBox = QComboBox()

#print dir(self.sizeBox)

self.toolBar.addWidget(self.label2)

self.toolBar.addWidget(self.sizeBox)

self.db = QFontDatabase()

for i in self.db.standardSizes():

self.sizeBox.addItem(QString.number(i))

self.toolBar.addSeparator();

#加粗 、斜体、下划线、颜色

self.boldBtn = QToolButton()

self.boldBtn.setIcon(QIcon("image/bold.png"))

self.boldBtn.setCheckable(True)

self.toolBar.addWidget(self.boldBtn)

self.italicBtn = QToolButton()

self.italicBtn.setIcon(QIcon("image/italic.png"))

self.italicBtn.setCheckable(True)

self.toolBar.addWidget(self.italicBtn)

self.underBtn = QToolButton()

self.underBtn.setIcon(QIcon("image/underline.png"))

self.underBtn.setCheckable(True)

self.toolBar.addWidget(self.underBtn)

self.toolBar.addSeparator()

self.colorBtn = QToolButton()

self.colorBtn.setIcon(QIcon("image/color.png"))

self.toolBar.addWidget(self.colorBtn)

#信号和槽函数

self.fontBox.activated.connect(self.slotFont)

self.sizeBox.activated.connect(self.slotSize)

self.boldBtn.clicked.connect(self.slotBold)

self.italicBtn.clicked.connect(self.slotItalic)

self.underBtn.clicked.connect(self.slotUnder)

self.colorBtn.clicked.connect(self.slotColor)

self.text.currentCharFormatChanged.connect(self.slotCurrentFormatChanged)

self.fmt = QTextCharFormat()

def slotFont(self):

self.f = self.fontBox.currentFont().family()

self.fmt.setFontFamily(self.f)

self.cursor = self.text.textCursor()

if(self.cursor.hasSelection() is False):

self.cursor.select(QTextCursor.WordUnderCursor)

self.cursor.mergeCharFormat(self.fmt)

self.text.mergeCurrentCharFormat(self.fmt)

def slotSize(self):

self.num = self.sizeBox.currentText()

self.fmt.setFontPointSize(self.num.toFloat()[0])

self.text.mergeCurrentCharFormat(self.fmt)

def slotBold(self):

if self.boldBtn.isChecked():

self.fmt.setFontPointSize(QFont.Bold)

else:

self.fmt.setFontPointSize(QFont.Normal)

self.text.mergeCurrentCharFormat(self.fmt)

def slotItalic(self):

if self.italicBtn.isChecked():

if self.fmt.fontItalic() is False:

self.fmt.setFontItalic(True)

else:

self.fmt.setFontItalic(False)

self.text.mergeCurrentCharFormat(self.fmt)

def slotUnder(self):

self.fmt.setFontUnderline(self.underBtn.isChecked())

self.text.mergeCurrentCharFormat(self.fmt)

def slotColor(self):

self.color = QColorDialog.getColor(Qt.red)

if(self.color.isValid()):

self.fmt.setForeground(self.color)

self.text.mergeCurrentCharFormat(self.fmt)

def slotCurrentFormatChanged(self):

self.fontBox.setCurrentIndex(self.fontBox.findText(self.fmt.fontFamily()))

self.sizeBox.setCurrentIndex(self.sizeBox.findText(QString.number(self.fmt.fontPointSize())))

self.boldBtn.setChecked(self.fmt.font().bold())

self.italicBtn.setChecked(self.fmt.fontItalic())

self.underBtn.setChecked(self.fmt.fontUnderline())

app=QApplication(sys.argv)

main=MainWindow()

main.show()

app.exec_()

时间: 2024-08-18 18:37:01

pyqt学习之设置字体,字号等格式属性(网友提供)的相关文章

ios设置UILabel中文字的不同颜色和字体字号

参考博客:http://blog.csdn.net/woaifen3344/article/details/38352099    http://www.cnblogs.com/whyandinside/archive/2013/12/27/3493475.html 要使UILabel显示不同的字体,需要设置其 attributedText属性 该属性是NSMutableAttributedString/NSAttributedString类型; NSAttributedString是一个带有属

毕业论文字体字号格式要求

介于都已经工作快一年(还差两个多月)了,写的文案还是让领导直叹气,我决定痛定思痛,啥不会学啥.把以前写论文的严谨态度拿出来.第一步,格式. 毕业论文字体字号格式要求 一.封面 题目:小二号黑体加粗居中. 各项内容:四号宋体居中. 二.目录 目录:二号黑体加粗居中. 章节条目:五号宋体. 行距:单倍行距. 三.论文题目: 小一号黑体加粗居中. 四.中文摘要 1.摘要:小二号黑体加粗居中. 2.摘要内容字体:小四号宋体. 3.字数:300字左右. 4.行距:20磅 5.关键词: 四号宋体,加粗. 词

JAVA学习绘图颜色及其笔画属性设置字体显示文字

package com.graphics; import java.awt.*; import java.awt.geom.Rectangle2D; import java.util.Date; import javax.swing.*; /** * * @author biexiansheng * */ public class DrawString extends JFrame{ private Shape rect;//矩形对象 private Font font;//字体对象 priva

原创:如何实现在Excel通过循环语句设置指定行的格式

原创:如何实现在Excel通过循环语句设置指定行的格式 一.需求: 想让excel的某些行(比如3的倍数的行)字体变成5号字 如何整: 二.实现: Sub code() For i = 1 To Range("A65536").End(xlUp).Row Rows(3 * i & ":" & 3 * i).Select Selection.Font.Size = 5 '将5更改为你需要的字号大小即可 Selection.Font.Bold = Tru

Eclipse如何设置字体

Eclipse 是一个开放源代码的.基于Java的可扩展开发平台,是学习java和开发java最常用的IDE之一.有时候会遇到这种情况,刚刚下载了新的Eclipse,字体显示英文没问题,但是显示中文就变得很奇怪或者乱码.有时候我们在电脑中安装了新字体,怎么在Eclipse中应用到我们的安装的新字体呢?现在就由小编就介绍一下Eclipse如何设置代码的字体. 首先打开Eclipse,然后在打开菜单右边的“Window”,在下拉菜单项中选择最后一个Preferences. 在弹出的窗体中,选择第一个

【转】notepad++设置字体和字体大小

原文网址:http://www.aichengxu.com/view/604 今天很多朋友问我怎么设置notepad++的代码字体和代码字体的大小,习惯了editplus的朋友可能会在notepad++的设置->首选项中去找,但是很可惜的是没有设置字体和字体大小的选项.这里豆芽专门写篇文章分享下. 设置notepad++字体以及字体大小方法: 打开notepad++点击工具栏上的设置->语言格式设置,切忌是选择语言格式设置,并不是首选项哈. 在弹出的对话框中右侧字体格式栏中选择自己喜欢的字体以

delphi 01设置 字体属性

设置/获取 字体属性 名称 大小 粗体 斜体 下划线 删除线 颜色1 颜色2 uses MSHTML; //设置 //------------------------------------------------------------------------------procedure WB_SetFontName();begin  (Form1.webbrowser1.Document as IHTMLDocument2).execCommand('FontName', False, F

05使用CSS设置字体和文本样式

使用CSS设置字体和文本样式: 1.定义字体类型font-family 用法: font-family:name; font-family:ncursive|fantasy|monospace|serif|sans-serif name表示字体名称,可指定多种字体,用空格隔开.按优先顺序排列.如果字体名称包含空格,则应该使用括号()括起来. font是一个复合属性,所谓复合属性是指该属性能够设置多种字体属性,用法如下: font:font-style||font-variant||font-we

CSS3的REM设置字体大小(转)

在Web中使用什么单位来定义页面的字体大小,至今天为止都还在激烈的争论着,有人说PX做为单位好,有人说EM优点多,还有人在说百分比方便,以至于出现了CSS Font-Size: em vs. px vs. pt vs. percent这样的PK大局.不幸的是,仍然有不同的利弊,使各种技术都不太理想,但又无法不去用.真是进也难,退也难呀. 最近在学习em的相关知识的时候,无意之间让我拾得一宝,就是使用rem来设置Web页面的字体大小.让我一下子就来劲了,一口气看完并测试了一回,还真是爽歪歪的呀.师