怎样做才能把看完邮件后它仍然标记为未读

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样做才能把看完邮件后它仍然标记为未读相关的知识,希望对你有一定的参考价值。

就是 我想看完这封邮件后 再将它标记为未读的邮件。可以吗 有什么方法?????
比如 QQ油箱读过的邮件 怎么将它变回未读的??

可按以下步骤进行操作:

1、返回收件箱;

2、点击邮件前面的选项;

3、在邮件上方点击【标记为】-【未读】即可。

参考技术A 返回邮件列表,选中需要标记的邮件,选择“标记为…”,在弹出的下拉菜单中选“未读”。本回答被提问者采纳 参考技术B 你用的是web界面的 还是邮件客户端软件? web界面上都会有标记为未读或者已读

给你截个图 http://pic.yupoo.com/sanli8/869425714c56/medium.jpg 这回知道了么?

我怎样才能做到这一点,当我在 tkinter 中更改标记的单词时,颜色会变回来?

【中文标题】我怎样才能做到这一点,当我在 tkinter 中更改标记的单词时,颜色会变回来?【英文标题】:How can I make it so that when I change a tagged word in tkinter, the color changes back? 【发布时间】:2017-06-11 00:19:19 【问题描述】:

我正在制作一个文本编辑器,并且我正在使用 Pygments 来帮助突出显示语法。当我输入关键字时,比如for,它会变成黄色,很好。好吧,当我在后面输入一个字母时,比如说forefor 仍然是黄色,如果我退格,fof 是黄色的。

为什么它不变回黑色/清除颜色?有没有一种有效的方法来做到这一点?我的代码,只是需要,如下所示,没有错误,所以我将只包含突出显示功能,即使它本身可能不需要。

如果需要,我会添加更多内容

import sys #imports
from pygments import highlight
from pygments.lexers import PythonLexer #python syntax highlighter
from pygments import lex
major_version = sys.version_info.major
if major_version == 2: #check python version for importing tkinter
    from Tkinter import *
    import tkFileDialog
elif major_version == 3:
    from tkinter import *
    import tkinter.filedialog as tkFileDialog
else:
    raise RuntimeError('Unexpected python major version: %d' % major_version)

def highlight(t, previousContent):
    content = t.get("1.0", END)
    lines = content.split("\n")

    if(content != previousContent):
        t.mark_set("range_start", "1.0")
        data = t.get("1.0", "end-1c")

        for token, content in lex(data, PythonLexer()):
            t.mark_set("range_end", "range_start + %dc" % len(content))
            t.tag_add(str(token), "range_start", "range_end")

            t.mark_set("range_start", "range_end")

def highlightLine(t, previousContent):
    content = t.get("1.0", END)
    lines = content.split("\n")
    currentCursorPosition = t.index(INSERT)
    currentCursorPositionSplit = currentCursorPosition.split(".")
    currentLine = currentCursorPositionSplit[0]
    currentColumn = currentCursorPositionSplit[1]

    if(content != previousContent):
        t.mark_set("range_start", str(currentLine) + ".0")
        data = t.get(str(currentLine) + ".0", str(currentLine) + "." + str(currentColumn))

        for token, content in lex(data, PythonLexer()):
            t.mark_set("range_end", "range_start + %dc" % len(content))
            t.tag_add(str(token), "range_start", "range_end")

            t.mark_set("range_start", "range_end")

def initHighlight(t):
    t.tag_configure("Token.Keyword", foreground="#CC7A00")
    t.tag_configure("Token.Keyword.Constant", foreground="#CC7A00")
    t.tag_configure("Token.Keyword.Declaration", foreground="#CC7A00")
    t.tag_configure("Token.Keyword.Namespace", foreground="#CC7A00")
    t.tag_configure("Token.Keyword.Pseudo", foreground="#CC7A00")
    t.tag_configure("Token.Keyword.Reserved", foreground="#CC7A00")
    t.tag_configure("Token.Keyword.Type", foreground="#CC7A00")

    t.tag_configure("Token.Name.Class", foreground="#003D99")
    t.tag_configure("Token.Name.Exception", foreground="#003D99")
    t.tag_configure("Token.Name.Function", foreground="#003D99")

    t.tag_configure("Token.Operator.Word", foreground="#CC7A00")

    t.tag_configure("Token.Comment", foreground="#B80000")

    t.tag_configure("Token.Literal.String", foreground="#248F24")

这个问题NOT询问如何从文本中删除所有标签,它询问我如何检查被标记的单词是否不再是理想的单词,然后去掉那个词上的标签。如果我要删除所有标签然后重新标记所有内容,那就太迟钝了。

【问题讨论】:

这不是重复的,我不是要求删除所有标签,只是一两个。 -- 基于是否从原始标签更改。 哼。你是说当你输入一个单词时它会突出显示这个单词,但是当你按下空格时它仍然会突出显示缩短的单词而不是变回? 是的,确切地说,它在突出显示后不会变回,所以如果for 突出显示,如果我在之后键入e,则生成fore,@987654331 的for @ 仍然突出显示。或者,如果我退格,fof 会突出显示。真奇怪 如果您监视光标移动或键入的事件,然后让程序仅检查光标的这么多空格或使用正则表达式之类的光标左侧的单词,该怎么办。这样,您可以不断检查正在输入的单词,如果它适合其中一个标签,那么它将突出显示,但如果不适合,那么如果存在标签,它将删除光标附近的标签。我会想象代码会比较复杂,但对我来说可能有接缝。 我一直在检查,上面的 highlightLine 函数可以做到这一点,但由于某种原因,它不会在未突出显示时重置单词。 -- 除非你的意思是重置线路,然后再次检查,否则我没有想到。 【参考方案1】:

标记之前,在同一个函数中,我添加了

for tag in t.tag_names():
    t.tag_remove(tag, str(currentLine) + ".0", str(currentLine) + "." + str(currentColumn))

它检查所有标签,然后删除当前行中的标签,然后将它们添加回来,完整的功能如下:

def highlightLine(t, previousContent):
    content = t.get("1.0", END)
    lines = content.split("\n")
    currentCursorPosition = t.index(INSERT)
    currentCursorPositionSplit = currentCursorPosition.split(".")
    currentLine = currentCursorPositionSplit[0]
    currentColumn = currentCursorPositionSplit[1]

    if(content != previousContent):
        t.mark_set("range_start", str(currentLine) + ".0")
        data = t.get(str(currentLine) + ".0", str(currentLine) + "." + str(currentColumn))

        for tag in t.tag_names():
            t.tag_remove(tag, str(currentLine) + ".0", str(currentLine) + "." + str(currentColumn))

        for token, content in lex(data, PythonLexer()):
            t.mark_set("range_end", "range_start + %dc" % len(content))
            t.tag_add(str(token), "range_start", "range_end")

            t.mark_set("range_start", "range_end")

现在完美运行!

【讨论】:

不错。我很高兴你能够使用这条线。

以上是关于怎样做才能把看完邮件后它仍然标记为未读的主要内容,如果未能解决你的问题,请参考以下文章

将*单个* IMAP 邮件标记为未读

如何实现单击未读邮件后,该邮件仍显示为未读

有没哪个知道邮箱里的未读邮件查看以后,还可以让他显示为未读吗?

outlook 已读邮件怎么设置回未读,急!!

foxmail 收取邮件后自动转为已读,怎么设置才是未读

如何在 UITableView Cell 中实现类似于 iOS 邮件的从左向右滑动