小编Jac*_*ane的帖子

为什么没有找到tkinter发行版?

我在安装tkinter期间遇到了问题.我有2.7.11版.我输入了pip install tkinterdos,但它显示以下消息:

收集tkinter

找不到满足要求的版本tkinter(来自版本:)没有为tkinter找到匹配的分发

我已经使用相同的程序成功安装了烧瓶,但是对于tkinter来说它显示出问题.我该怎样摆脱这个问题?

python module tkinter

28
推荐指数
3
解决办法
4万
查看次数

为什么在 Python 2 中可以调整消息框的字体大小,但在 Python 3 中却不能?

我想在程序中添加一个简单的消息框,但看起来你无法在 python 3 中调整字体大小。这很烦人,但也不算太糟糕 - 我将制作自​​己的窗口并克服它。我不明白的是为什么字体在 python 2 中可以调整,但在 python 3 中不再可以调整?

python 3 中的消息框示例:

import tkinter
from tkinter import *
from tkinter import messagebox

root = Tk()

def Help(self):
    messagebox.showinfo("Window title", "Sample text")

test_button = Button(root, text="Test Button", font=("Helvetica", 25), command=self.Help)
test_button.grid(row = 2, column =0)

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

这是解决 python 2 中字体调整的问题:Control Font in tkMessageBox

这是一个解决python 3 中缺乏字体调整的问题: How to set font of a messagebox with Python tkinter?

谁能解释明显的功能损失?为什么我们会在看似改进的 python 版本中失去这个选项?

编辑:看起来 Python 2 中应用的解决方案将在运行 python 3 的 …

python tkinter messagebox python-2.7 python-3.x

6
推荐指数
0
解决办法
932
查看次数

numpy矩阵的映射索引

我应该如何映射numpy矩阵的索引?

例如:

mx = np.matrix([[5,6,2],[3,3,7],[0,1,6]]
Run Code Online (Sandbox Code Playgroud)

行/列索引是0,1,2.

所以:

>>> mx[0,0]
5
Run Code Online (Sandbox Code Playgroud)

假设我需要映射这些索引,转换0, 1, 2成例如10, 'A', 'B'以下方式:

mx[10,10] #returns 5
mx[10,'A'] #returns 6 and so on..
Run Code Online (Sandbox Code Playgroud)

我可以设置一个dict并使用它来访问元素,但我想知道是否可以像我刚才描述的那样做.

python dictionary numpy matrix

6
推荐指数
1
解决办法
190
查看次数

cvxpy stlibc ++ MacOS Mojave上的安装错误

尝试在Mac上使用pip install安装cvxpy软件包时,收到以下错误消息:

warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
In file included from cvxpy/cvxcore/src/cvxcore.cpp:15:
cvxpy/cvxcore/src/cvxcore.hpp:18:10: fatal error: 'vector' file not found
#include <vector>
^~~~~~~~
1 warning and 1 error generated.
error: command '/usr/bin/clang' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

Mac正在运行OS Mojave.

python python-3.x libc++ cvxpy

6
推荐指数
2
解决办法
1864
查看次数

Tkinter导入没有*?

在我过去的编程中,我使用了以下代码:

from tkinter import *
Gui = Tk()
Run Code Online (Sandbox Code Playgroud)

但是有人告诉我,导入*因为很多原因不好,但现在我要导入了

from tkinter import geometry
Run Code Online (Sandbox Code Playgroud)

它说几何不是模块的东西(名称).

当我这样做时:

    import tkinter 
tkinter.geometry(500x500)
Run Code Online (Sandbox Code Playgroud)

它说'模块'对象没有属性'几何'

有人可以解释我如何用tkinter导入所有不同的方式?不仅几何,而且大多数tkinter模块... ???

python tkinter

5
推荐指数
1
解决办法
2410
查看次数

'function' 对象没有属性 'plot'

我正在关注本教程https://www.kaggle.com/residentmario/univariate-plotting-with-pandas 并尝试执行 pokemon 数据库中提到的练习,但是每当我尝试实现下面的代码时,我都会收到下面提到的错误并且不明白该怎么做。我正在使用 matplotlib.use('agg') 因为我收到了一个与 Tkinter 相关的错误。我正在使用 pycharm、python 3.6 和 ubuntu 18.04

这是我的代码:

 import pandas as pd    
 import matplotlib    
 matplotlib.use('agg')   
 from matplotlib.pyplot import plot   
 df=pd.read_csv("/home/mv/PycharmProjects/visualization/pokemon.csv")   
 df['type1'].value_counts.plot(kind='bar')   
Run Code Online (Sandbox Code Playgroud)

错误

 Traceback (most recent call last):
 File "/home/mv/PycharmProjects/visualization/univariate plotting.py", 
 line 9, in <module>
 df['type1'].value_counts.plot(kind='bar')
 AttributeError: 'function' object has no attribute 'plot'
Run Code Online (Sandbox Code Playgroud)

python matplotlib pandas

3
推荐指数
1
解决办法
6702
查看次数

检查是否已安装扩展,如果用户删除扩展,则关闭选项卡

这是我的网站上的工作方式a.com,用户访问我的网站,我b.com使用我的帐户与另一个网站的人交谈,生成链接b.com/somelink并将用户重定向到该链接.

这是问题,这个地址b.com/somelink包含一些私人信息,我想隐藏访问者...因为我不控制那个网站,我不能这样做.

所以我认为最好的选择是浏览器扩展,用户必须在重定向到b.com之前安装扩展.

所以这是我的简单扩展:

的manifest.json

{
  "name": "extname",
  "version": "1.0",
  "description": "extnameExtension!",
  "manifest_version": 2,
  "permissions": [
    "tabs", "http://*/*", "https://*/*" ,  "webNavigation"
  ] ,

  "content_scripts": [
    {

      "matches": ["*://b.com/*"],
      "js": ["contentscript.js"],
      "run_at": "document_start"
    }
  ]

}
Run Code Online (Sandbox Code Playgroud)

contentscript.js

function fireOnReady() {
    document.getElementById('personal-info').innerHTML = 'some dummy data';
}
if (document.readyState === 'complete') {
    fireOnReady();
} else {
    document.addEventListener("DOMContentLoaded", fireOnReady);
}
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但我有两个问题:

1 - 用户可能会禁用扩展程序并刷新页面b.com/somelink并查看我的个人信息....所以我的解决方案是关闭浏览器选项卡,b.com如果他们删除我的扩展名...有什么方法可以做到这一点?(此链接仅在从我的网站重定向到b.com时可用,因此他们无法在新标签/浏览器中复制/粘贴该链接)

2 - 在我自己的网站上,我怎样才能确保他们在重定向到b.com之前已经安装了我的扩展程序?

**请不要谈论我解释的场景或其他解决方案或......我知道这可能听起来很奇怪,但这不是针对公众用户,而是私人特殊小组谁将安装扩展,如果他们必须,我有兴趣知道即使我找到另一种解决方案,如何使用代码和扩展来执行此操作**

javascript google-chrome google-chrome-extension google-chrome-app

2
推荐指数
1
解决办法
239
查看次数