小编lin*_*oid的帖子

按升序对数字字符串列表进行排序

我创建了一个sqlite数据库,它有一个存储温度值的表.温度值首次以升序写入数据库.然后我将数据库中的温度值读入列表,然后将该列表添加到组合框中以选择温度 - 工作正常.

结果列表是:

templist = ['25', '50', '100', '150', '200', '250', '300'].
Run Code Online (Sandbox Code Playgroud)

然后我向数据库添加一个新的温度值,比如'33'.

它被附加到表的末尾.如果我现在读取温度,列表将变为:

['25', '50', '100', '150', '200', '250', '300', '33']. 
Run Code Online (Sandbox Code Playgroud)

如果我做templist.sort()sorted(templist),最终的结果是

['150', '200', '25', '250', '300', '33', '50']
Run Code Online (Sandbox Code Playgroud)

是否有任何简单的方法按升序对列表进行排序,以便我得到:

['25', '33', '50', '100', '150', '200', '250', '300']
Run Code Online (Sandbox Code Playgroud)

python sorting list

50
推荐指数
2
解决办法
22万
查看次数

PyQt - 如何向QMainWindow添加单独的UI小部件

我最近才开始编程和Python(PyQt).我有我的主要QMainWindow课程.但我想将它与UI小部件分开,以便所有窗口内容(菜单,工具栏,常用按钮)都在QMainWindow,但所有程序/ UI特定的小部件(pusgbuttons,组合框,图像,复选框等)都在一个单独的QWidget类中.但我不确定我是否正确行事.

  1. 我有布局问题 - 隐藏的东西覆盖菜单,以便它们不能被鼠标点击,我想我没有正确地将我的UI窗口小部件添加到主窗口

我是这样做的:

class MyMainWindow(QMainWindow):
    def __init__(self, parent = None):
        super(MyMainWindow, self).__init__(parent)

        self.main_widget = QWidget(self)
        ...
        self.form_widget = FormWidget(self) 
        #This is my UI widget

        self.main_layout = QVBoxLayout(self.main_widget)
        self.main_layout.sizeConstraint = QLayout.SetDefaultConstraint
        self.main_layout.addWidget(self.form_widget.main_widget) 
        #form_widget has its own main_widget where I put all other widgets onto

        self.main_widget.setLayout(self.main_layout)
        self.setCentralWidget(self.main_widget)
Run Code Online (Sandbox Code Playgroud)
  1. 我已经看过其他Python程序,其中应用程序被分解为许多小代码文件(据我所知,主类中的所有内容都是不可读或无法管理的).

你有什么建议将代码分成小块?怎么做得更好?或者对于UI来说,它们都可以在一个大的地方?我应该将UI代码/类分解为单独的文件吗?

谢谢.

[解决了]

我发现了我的错误 - 我从UI小部件类中删除了main_widget(现在所有UI小部件都直接放在UI类小部件本身上)并且只执行此操作:

self.main_layout.addWidget(self.form_widget)
Run Code Online (Sandbox Code Playgroud)

没有菜单的问题

python layout pyqt qmainwindow

19
推荐指数
3
解决办法
5万
查看次数

Python:如何在列表中找到小于目标的值

例如,我有一个无序的值列表[10,20,50,200,100,300,250,150]

我有这个代码,它返回下一个更大的值:

def GetNextHighTemp(self,  temp,  templist):
    target = int(temp)
    list = []
    for t in templist:
        if t != "":
            list.append(int(t))
    return str(min((abs(target - i), i) for i in list)[1])
Run Code Online (Sandbox Code Playgroud)

例如,如果temp = 55,它将返回'100'.

但是我怎样才能获得较小的价值?那是如何让它返回'50'?

谢谢.

编辑 - 现在正在工作

def OnTWMatCurrentIndexChanged(self):
    self.ClearTWSelectInputs()
    material = self.cb_TW_mat.currentText()
    temp = self.txt_design_temp.text()
    if material != "":
        Eref = self.GetMaterialData(material,  "25",  "elast")
        if Eref and Eref != "":
            Eref = str(float(Eref) / 1000000000)
            self.txt_TW_Eref.setText(Eref)
        else:
            self.txt_TW_Eref.setText("194.8")
            self.ShowMsg("No temperature match found for E<sub>ref</sub> in material data file. …
Run Code Online (Sandbox Code Playgroud)

python

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

如何在QTextEdit中显示数学方程式?

有谁知道如何仅使用Python在QTextEdit中显示以任何格式(TXT,MathML,MML,LaTeX,HTML,XML或其他任何形式)编写的数学方程式,而不使用Latex本身这样的第三方软件包。我试图从Qt中找到MathML Widget,但是它从他们的网站中消失了,我在任何地方都找不到。

我不为方程式源(字符串或文件)而烦恼。我只是想不出如何很好地显示它们(与它们出现在网页上的方式相同,例如http://en.wikipedia.org/wiki/MathML)。

我的QTextEdit当前获取HTML字符串。我尝试嵌入该Wikipedia文章中的MathML示例,但它无法正确显示,它会忽略所有这些MathML标签。

会非常感谢您的帮助。谢谢。

python math equations

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

使用多个文件夹的Python setup.py帮助

我正在尝试在OBS上构建程序。您能否告诉我setup.py创建文件夹结构的外观,例如,如果我有以下内容:

../MyProgram
COPYING
README
mainscript.pyw
/applications
    /app1
        /icons
            pic1.png
        app1.py
    /app2
        /icons
            pic2.png
        /scripts
            script1.py
            script2.py
        app2.py
Run Code Online (Sandbox Code Playgroud)

等等

我阅读了使用“ package_dir”,“ packages”播放的Python文档,但OBS仍然给我错误,它找不到图标文件。我猜安装脚本不会创建它们。当我尝试在本地构建rpm时,它也给了我同样的错误。当我查看BUILD文件夹时,没有创建文件夹“ applications”,并且其下没有任何内容。

会非常感谢您的帮助。请提供一个例子。谢谢。

python setup.py

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

SQLAlchemy给出"MetaData未绑定到引擎或连接"

我有这个代码来创建一个数据库:

from sqlalchemy import create_engine
from sqlalchemy import Table, Column, Integer, String, Float, MetaData, ForeignKey
from sqlalchemy.sql import select, and_
from PyQt4 import QtGui, QtCore

class DbUtils(object):
    def __init__(self, db_file = None, parent = None):

        self.db = None
        self.db_connection = None
        self.db_file = str(db_file)

    def db_open(self):
        self.db = create_engine('sqlite:///' + self.db_file)
        self.db_connection = self.db.connect()

    def db_close(self):
        self.db_connection.close()

    def db_create_voltdrop(self):
        metadata = MetaData()

        tb_cable_brands = Table('cable_brands', metadata,
            Column('id', Integer, primary_key=True),
            Column('brand', String)
            )
        tb_cable_types = Table('cable_types', metadata,
            Column('id', Integer, primary_key=True),
            Column('brand_id', …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

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

标签 统计

python ×6

equations ×1

layout ×1

list ×1

math ×1

pyqt ×1

qmainwindow ×1

setup.py ×1

sorting ×1

sqlalchemy ×1