小编gfr*_*ng4的帖子

Python十进制到字符串

这里有很多主题可以解释如何将字符串转换为小数,但是如何将小数转换回字符串?

就像我这样做:

import decimal
dec = decimal.Decimal('10.0')
Run Code Online (Sandbox Code Playgroud)

我怎么拿出dec'10.0'(一根绳子)?

python string decimal

37
推荐指数
3
解决办法
6万
查看次数

Tkinter tkFileDialog不存在

我正在尝试使用Python中的Tkinter显示一个打开的文件对话框.我发现的每个例子看起来都很容易使用,但它们都是从这一行开始的:

import tkFileDialog
Run Code Online (Sandbox Code Playgroud)

这行告诉我一个错误,说

No module named 'tkFileDialog'
Run Code Online (Sandbox Code Playgroud)

似乎我的Python没有tkFileDialog.所以我尝试搜索它,但似乎你没有"下载"Tkinter,它只是附带Python. 为什么我的Tkinter缺少tkFileDialog?有什么地方我可以获得它,以便我可以使用它吗?

我想到的另一件事是它可能已经改变了名字,因为我读过的例子都是写的.tkFileDialog在Python 3中有不同的导入方式吗?

我正在运行Windows 7 64位Python版本

3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:45:13) [MSC v.1600 64 bit (AMD64)]
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

python tkinter python-3.x

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

是否可以在 Android 可绘制对象中将圆角半径指定为百分比?

作为 Android 可绘制对象,它代表一个带圆角的黑色矩形。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="20dp" />
    <solid android:color="#000000" />
</shape>
Run Code Online (Sandbox Code Playgroud)

但是,角半径被指定为绝对值20dp,因此如果以不同的尺寸显示相同的可绘制对象,则其显示会有所不同。较小的形状不仅仅是较大形状的“缩小”版本。相反,它“更圆”,而较大的则“更方形”,因为20dp无论可绘制对象的大小如何,边框半径都是静态的。

绝对边界半径

我想指定相对于完整可绘制尺寸的半径,因此当以不同尺寸绘制时,每个尺寸都显示为其他尺寸的放大/缩小版本。

相对边界半径

我更熟悉 CSS,这可以用一行完成:

border-radius: 20%;
Run Code Online (Sandbox Code Playgroud)

我惊讶地发现 Android 缺乏这种 CSS 简单性。Android 无法识别%为一个单元。

<corners android:radius="20%" />
Run Code Online (Sandbox Code Playgroud)

有没有一些简单的方法可以在 Android 中实现我想要的结果?

android android-xml android-drawable

9
推荐指数
1
解决办法
2285
查看次数

如何将输入发送到使用spawn创建的子进程?的NodeJS

我正在运行Windows 10,我有一个程序,我们program可以调用它,可以从命令行运行.运行时,它会响应用户输入的命令.用户输入命令,按返回键,程序打印响应.我没有制作这个程序而且没有源代码,所以我无法修改它.

我想从Node.js中运行这个程序,让我的Node.js程序充当用户,发送命令并获取响应.我生成我的程序,如下所示:

var spawn = require('child_process').spawn;
var child = spawn('program');

child.stdout.on('data', function(data) {
    console.log(`stdout: ${data}`);
});
Run Code Online (Sandbox Code Playgroud)

然后我尝试向它发送命令,例如,help.

child.stdin.write("help\n");
Run Code Online (Sandbox Code Playgroud)

没有任何反应.如果我手动运行程序,键入help,然后按返回键,我得到输出.我希望Node.js运行程序,发送输入,并像人类用户那样接收输出.我假设stdin.write()会向程序发送一个命令,就好像用户在控制台中键入它一样.但是,由于该程序没有响应,我认为情况并非如此.如何发送程序输入?

我见过很多类似的问题,但不幸的是,他们的作者报告称"工作"的解决方案并不适用于我.

node.js

8
推荐指数
1
解决办法
3024
查看次数

为什么require('child-process')在没有Internet连接的Node Webkit中不起作用?

在最新的稳定版本(v0.18.8)上运行的Node-Webkit应用程序中,我有以下三行:

console.log("Check 1");
var spawn = require('child_process').spawn;
console.log("Check 2");
Run Code Online (Sandbox Code Playgroud)

当我有互联网时,我得到了预期的输出:

Check 1
Check 2
Run Code Online (Sandbox Code Playgroud)

当我断开互联网连接,或者没有网络可用时,我得到:

Check 1
net.js:10 Uncaught Error: EFILE
    at net.js:10:23
    at NativeModule.compile (bootstrap_node.js:531:7)
    at NativeModule.require (bootstrap_node.js:472:18)
    at internal/child_process.js:6:13
    at NativeModule.compile (bootstrap_node.js:531:7)
    at NativeModule.require (bootstrap_node.js:472:18)
    at child_process.js:12:23
    at NativeModule.compile (bootstrap_node.js:531:7)
    at Function.NativeModule.require (bootstrap_node.js:472:18)
    at Function.Module._load (module.js:446:25)
Run Code Online (Sandbox Code Playgroud)

console.log("Check 2")永远不会运行,并且脚本的其余部分被忽略.

我不需要互联网连接来要求一些东西,所以我很困惑这里出了什么问题.其他一些require()陈述也会发生此错误,但不是全部.例如,require('nw.gui')工作正常.

如何在require()没有互联网连接的情况下使用?

我正在运行Windows 10,64位.


以下是演示此问题的示例:

的index.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">

<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <title>Title</title> …
Run Code Online (Sandbox Code Playgroud)

node.js node-webkit nw.js

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

Python tkinter ttk一个单选按钮出现错误的大小

我正在使用Tkinter ttk单选按钮,并且有一个特殊的问题。首先创建的最后一个单选按钮看起来比其他按钮大。一旦将鼠标放在其上,它就会捕捉到正确的大小。

问题看起来像这样:

在此处输入图片说明

这是我正在使用的全部代码:

import tkinter
from tkinter import ttk

root = tkinter.Tk()

radioSelect = tkinter.IntVar()
radio1 = ttk.Radiobutton(root, text="A", variable=radioSelect, value=1)
radio2 = ttk.Radiobutton(root, text="B", variable=radioSelect, value=2)

radio1.grid()
radio2.grid()

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

如果使用网格位置,则会出现此消息,并且它会出现在复选框以及单选按钮上。如果我使用tkinter单选按钮而不是ttk按钮,则不会出现此问题,但我想使用ttk按钮,因为它们看起来更好。

我正在运行Windows 7 64位Python版本

3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:45:13) [MSC v.1600 64 bit (AMD64)]
Run Code Online (Sandbox Code Playgroud)

我已经搜索过,但找不到任何存在类似问题的人。

这里发生了什么?

更新:仅在使用默认主题“ vista”时才会发生(至少在我的机器上)。如果指定了其他主题,则问题将消失。

python tkinter ttk

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

作为 iPad 调试时,如何禁用 Chrome 打开 Windows 屏幕键盘?

当我打开 Chrome 调试视图并将设备设置为“iPad Mini”以模拟其屏幕大小(和触摸事件)时,与文本输入交互会导致 Windows 屏幕键盘打开。

这台电脑不是平板电脑,也从来没有触摸屏。在 WindowsEase of Access -> Keyboard设置中Turns on the On-Screen Keyboard是关闭的。

我只能假设 Chrome“模拟”iPad Mini 导致 Windows 认为有触摸屏。我已经使用这个功能几个月了,键盘打开最近才开始发生。我可能只是不小心在设置(Chrome 或 Windows)中打开了一个开关。如果是这样,我想知道如何将其翻转回来!

这令人沮丧,因为我每次都必须关闭键盘,因为它覆盖了大部分网络应用程序。

键盘开口

同页没有“iPad Mini”模拟不打开键盘:

键盘打不开

(选择任何具有触摸屏的设备时,此键盘也会打开,而不仅仅是 iPad Mini。)

keyboard google-chrome-devtools

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