Это вызвало меня огромные головные боли, пытающиеся реализовать такую сетку для нашего приложения. Я попробовал все различные методы там, но у каждого из них были проблемы. Самое близкое я приехал, использовало плагин jQuery такой в качестве Flexigrid (взгляд http://www.ajaxrain.com для альтернатив), но это, кажется, не поддерживает таблицы 100% шириной, который является тем, в чем я нуждался.
то, Что я закончил тем, что делал, прокручивало мое собственное; Firefox поддерживает прокрутку tbody
элементы так я, браузер осуществил сниффинг и использовал соответствующий CSS (устанавливающий высоту, переполнение и т.д.... спрашивают, хотите ли Вы больше деталей) сделать ту прокрутку, и затем для других браузеров я использовал два отдельных набора таблиц для использования table-layout: fixed
, который использует алгоритм калибровки, который, как гарантируют, не переполнит установленного размера (нормальные таблицы расширятся, когда содержание будет слишком широко для установки). Путем предоставления обеим таблицам идентичных ширин я смог заставить их столбцы выстраиваться в линию. Я перенесся, второй в отделении установил на прокрутку, и с небольшим количеством jiggery pokery с полями и т.д. сумел получить стиль, который я хотел.
Жаль, если этот ответ звучит немного неопределенным в местах; я пишу быстро, поскольку у меня нет большого количества времени. Оставьте комментарий, если Вы хотите, чтобы я расширился дальше!
fh = open("NUL","w")
subprocess.Popen("taskkill /PID " + str(p.pid), stdout = fh, stderr = fh)
fh.close()
import os
from subprocess import check_call, STDOUT
DEVNULL = open(os.devnull, 'wb')
try:
check_call(("taskkill", "/PID", str(p.pid)), stdout=DEVNULL, stderr=STDOUT)
finally:
DEVNULL.close()
Я всегда передаю кортежи в подпроцесс, так как это избавляет меня от беспокойства о побеге. check_call гарантирует, что (а) подпроцесс завершится до того, как канал закроется, и (б) сбой в вызываемом процессе не будет проигнорирован. Наконец, os.devnull
- это стандартный кроссплатформенный способ сказать NUL
в Python 2.4 +.
Обратите внимание, что в Py3K подпроцесс предоставляет вам DEVNULL, поэтому вы можете просто напишите:
from subprocess import check_call, DEVNULL, STDOUT
check_call(("taskkill", "/PID", str(p.pid)), stdout=DEVNULL, stderr=STDOUT)